
编写程序模拟移动存储设备的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换。要求计算机能同这三种设备进行数据交换,并且以后可能会有新的第三方的移动存储设备,所以计算机必须有扩展性,能与目前未知而以后可能会出现的存储设备进行数据交换。各个存储设备间读、写的实现方法不同,U盘和移动硬盘只有Read和Write这两个方法,MP3Player还有一个PlayMusic方法。
MobileStorage.java
public interface MobileStorage {
void Read();
void Write();}
Computer.java
public class Computer {
MobileStorage usbDrive;
public void setUserDriver(MobileStorage usbDrive){
this.usbDrive = usbDrive;
}
public Computer(){
}
public Computer(MobileStorage usbDrive){
this.usbDrive = usbDrive;
}
public void ReadData(){
this.usbDrive.Read();
}
public void WriteData(){
this.usbDrive.Write();
}
}
U盘.java
public class U盘 implements MobileStorage{
public void Read() {
System.out.println("读取");
}
public void Write() {
System.out.println("写入");
}
}
移动硬盘.java
public class 移动硬盘 implements MobileStorage{
public void Read() {
System.out.println("读取");
}
public void Write() {
System.out.println("写入");
}
}
MP3.java
public class MP3 implements MobileStorage{
public void Read() {
System.out.println("读取");
}
public void Write() {
System.out.println("写入");
}
public void PlayMusic() {
System.out.println("播放");
}
}
Main.java
public class Main {
public static void main(String[] args) {
Computer computer = new Computer();
MobileStorage MP3 = new MP3();//多态 一个接口 不同的实现
MobileStorage U盘 = new U盘();
MobileStorage 移动硬盘 = new 移动硬盘();
System.out.println("我从电脑里传了一些音乐到MP3:");
computer.usbDrive = MP3;//多态
computer.WriteData();
System.out.println();
System.out.println("我想从电脑下载一下电影到我的移动硬盘");
computer.usbDrive=移动硬盘;
computer.ReadData();
System.out.println();
System.out.println("我想从我的U盘里复制一些电影");
computer.usbDrive = U盘;
computer.ReadData();
computer.WriteData();
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)