一、接口MediaPlayer
package org.jsoft.zy;
public interface MediaPlayer {
public abstract void play(); //播放
public abstract void stop(); //停止
public abstract void open(); //开仓
}
二、CD类
package org.jsoft.zy;
public class CDPlayer implements MediaPlayer{
@Override
public void play() {
System.out.println("CD播放");
}
@Override
public void stop() {
System.out.println("CD停止");
}
@Override
public void open() {
System.out.println("CD开仓");
}
}
三、DVD类
package org.jsoft.zy;
public class DVDPlayer implements MediaPlayer{
@Override
public void play() {
System.out.println("DVD播放");
}
@Override
public void stop() {
System.out.println("DVD停止");
}
@Override
public void open() {
System.out.println("DVD开仓");
}
}
四、录音机类
package org.jsoft.zy;
public class Tapeplayer implements MediaPlayer{
@Override
public void play() {
System.out.println("录音机播放");
}
@Override
public void stop() {
System.out.println("录音机停止");
}
@Override
public void open() {
System.out.println("录音机开仓");
}
}
五、控制器
package org.jsoft.zy;
public class Controller {
private MediaPlayer[] players;
public Controller(){//初始化player数组
players=new MediaPlayer[3];
players[0]=new DVDPlayer(); //DVD
players[1]=new CDPlayer(); //CD
players[2]=new Tapeplayer(); //录音机
}
public void play(int i){
players[i].play();
}
public void stop(int i){
players[i].stop();
}
public void open(int i){
players[i].open();
}
}