java chp接口对象练习题1

**

*定义一个接口MediaPlayer,表示家庭影院的一个设备。MediaPlayer中包含play(),stop(),

open()三个方法,分别表示播放、停止和开仓功能。
MediaPlayer 有三个实现类,分别为:DVDPlayer,表示 DVD 播放器;CDPlayer,表示
CD 播放器;TapePlayer,表示录音机(播放磁带)。

**
创建一个遥控器 Controller 类。该遥控器有三个控制通道,可以分别控制三个设备。


要求:


  1. 完成 MediaPlayer 接口及其子类的代码。
  2. 把 Controller 补充完整,完善其构造函数,并为其增加 stop(int i)和 open(int i)方法
public interface MediaPlayer {
     
	// 播放功能
	 void play();
	// 停止功能
	 void stop();
	// 开仓功能
	 void open();
}
public class DVDPlayer implements MediaPlayer {
     

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#play()
	 */
	@Override
	public void play() {
     
		// TODO Auto-generated method stub
		System.out.println("播放DVD");
	}

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#stop()
	 */
	@Override
	public void stop() {
     
		// TODO Auto-generated method stub
		System.out.println("停止播放DVD");
	}

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#open()
	 */
	@Override
	public void open() {
     
		// TODO Auto-generated method stub
		System.out.println("DVD开仓");
	}
	
}

public class CDPlayer implements MediaPlayer {
     

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#play()
	 */
	@Override
	public void play() {
     
		// TODO Auto-generated method stub
		System.out.println("播放CD");
	}

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#stop()
	 */
	@Override
	public void stop() {
     
		// TODO Auto-generated method stub
		System.out.println("停止播放CD");
	}

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#open()
	 */
	@Override
	public void open() {
     
		// TODO Auto-generated method stub
		System.out.println("CD开仓");
	}

}
public class TapePlayer implements MediaPlayer {
     

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#play()
	 */
	@Override
	public void play() {
     
		// TODO Auto-generated method stub
		 System.out.println("播放磁带");
	}

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#stop()
	 */
	@Override
	public void stop() {
     
		// TODO Auto-generated method stub
		 System.out.println("停止播放磁带");
	}

	/* (non-Javadoc)
	 * @see com.it.chp8.MediaPlayer#open()
	 */
	@Override
	public void open() {
     
		// TODO Auto-generated method stub
		 System.out.println("磁带出仓");
	}
	
}

public class Controller {
     
	private MediaPlayer[] players; // 保存成员

	public MediaPlayer[] getPlayers() {
     
		return players;
	}

	public void setPlayers(MediaPlayer[] players) {
     
		this.players = players;
	}

	// 构造函数中初始化 players 数组
	public Controller() {
     
		// 存入三种播放器
		MediaPlayer[] mp = new MediaPlayer[3];
		mp[0] = new DVDPlayer();
		mp[1] = new CDPlayer();
		mp[2] = new TapePlayer();
		setPlayers(mp);// set赋值
	}

	// 对相应的设备调用 play 方法
	public void play(int i) {
     
		players[i].play();
	}
	public void stop(int i) {
     
		players[i].stop();
	}
	public void open(int i) {
     
		players[i].open();
	}
}

测试

public class TestMedia {
     
	public static void main(String[] args) {
     
		Controller c = new Controller();
		c.play(1);//播放CD
		c.play(2);//播放磁带
		c.play(0);//播放DVD
		
		c.stop(0);//停止播放DVD
		//等等
	}
}

你可能感兴趣的:(笔记,java,接口)