一家汽车厂家采纳了一套驱动车载音响(CarAudio)的协议,让凡是遵守这个协议的车载音响制造商所生产的产品,都能在汽车(Car)上使用。车载音响上的功能包括播放(play)、暂停(pause)、上一首(prev)、下一首(next)、调节声音大(turnUp)、调节声音小(turnDown)。目前有Philips和BOSE两个品牌的音响满足这个协议。请参照类图(注意有倾斜角度的类或方法代表泛型是抽象)实现相关类的代码框架。
package chezaiyinxiang;
public class BOSE implements CarAudio{
public void play() {
System.out.println("我是BOSE品牌上的播放键");
}
public void pause(){
System.out.println("我是BOSE品牌上的暂停键");
}
public void prev(){
System.out.println("我是BOSE品牌上的上一首");
}
public void next(){
System.out.println("我是BOSE品牌上的下一首");
}
public void turnUp(){
System.out.println("我是BOSE品牌上调节声音大的");
}
public void turnDown(){
System.out.println("我是BOSE品牌上调节声音小的");
}
}
package chezaiyinxiang;
public class BOSEText {
public static void main(String[] args) {
Car c=new Car();
c.carAudio=new BOSE();
c.play();
c.pause();
c.prev();
c.next();
c.turnUp();
c.turnDown();
}
}
package chezaiyinxiang;
public class Car {
CarAudio carAudio;
public void play() {
carAudio.play();
}
public void pause() {
carAudio.pause();
}
public void prev() {
carAudio.prev();
}
public void next() {
carAudio.next();
}
public void turnUp() {
carAudio.turnUp();
}
public void turnDown() {
carAudio.turnDown();
}
}
package chezaiyinxiang;
public interface CarAudio {
public void play();
public void pause();
public void prev();
public void next();
public void turnUp();
public void turnDown();
}
package chezaiyinxiang;
public class Philips implements CarAudio{
public void play() {
System.out.println("我是Philips品牌上的播放键");
}
public void pause(){
System.out.println("我是Philips品牌上的暂停键");
}
public void prev(){
System.out.println("我是Philips品牌上的上一首");
}
public void next(){
System.out.println("我是Philips品牌上的下一首");
}
public void turnUp(){
System.out.println("我是Philips品牌上调节声音大的");
}
public void turnDown(){
System.out.println("我是Philips品牌上调节声音小的");
}
}
package chezaiyinxiang;
public class PuilipsText {
public static void main(String[] args) {
Car c = new Car();
c.carAudio = new Philips();
c.play();
c.pause();
c.prev();
c.next();
c.turnUp();
c.turnDown();
}
}