代碼描述在一輛車上既可以使用BOSE音響,也可以使用Philips音響的場景。
代碼描述在一輛車上既可以使用BOSE音響,也可以使用Philips音響的場景。
首先,我們需要定義一個音響接口(AudioSystem),包含播放音樂(playMusic)和停止播放(stopMusic)方法:
public interface AudioSystem {
void playMusic();
void stopMusic();
}
然后,我們可以分別實現(xiàn)BOSE音響和Philips音響,它們都實現(xiàn)了音響接口:
public class BoseAudioSystem implements AudioSystem {
@Override
public void playMusic() {
// 使用BOSE音響播放音樂
}
@Override
public void stopMusic() {
// 停止BOSE音響播放
}
}
public class PhilipsAudioSystem implements AudioSystem {
@Override
public void playMusic() {
// 使用Philips音響播放音樂
}
@Override
public void stopMusic() {
// 停止Philips音響播放
}
}
最后,在車輛類(Car)中添加一個音響對象(AudioSystem),并提供兩個方法來更改音響類型:
public class Car {
private AudioSystem audioSystem;
public void setAudioSystem(AudioSystem audioSystem) {
this.audioSystem = audioSystem;
}
public void playMusic() {
audioSystem.playMusic();
}
public void stopMusic() {
audioSystem.stopMusic();
}
}
這樣,在使用Car類時,我們只需要調用setAudioSystem方法來更改音響類型,然后使用playMusic和stopMusic方法就可以控制相應的音響播放或停止:
Car car = new Car();
car.setAudioSystem(new BoseAudioSystem());
car.playMusic();
car.stopMusic();
car.setAudioSystem(new PhilipsAudioSystem());
car.playMusic();
car.stopMusic();