试题:
笔记本电脑(laptop)通常具备使用USB设备的功能。
在生产时,笔记本都预留了可以插入USB设备的USB接口, 但具体是什么USB设备,笔记本厂商并不关心,
只要符合USB规格的设备都可以。
定义USB接口,具备最基本的开启功能和关闭功能。
鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守 USB规范,实现USB接口,
否则鼠标和键盘的生产出来也无法使用。(使用面向对象思想编程:接口,多态等)
USB接口类
/*USB接口*/
public interface USB {
// 开启方法
void open();
// 关闭方法
void close();
}
鼠标类
/*鼠标类 实现USB接口*/
public class Mouse implements USB {
// 实现开启方法
public void open(){
System.out.println("鼠标开启");
}
// 实现关闭方法
public void close(){
System.out.println("鼠标关闭");
}
}
键盘类
/*键盘类 实现USB接口*/
public class Keyboard implements USB {
// 实现开启方法
public void open(){
System.out.println("键盘开启");
}
// 实现关闭方法
public void close(){
System.out.println("键盘关闭");
}
}
电脑类
/*电脑类*/
public class Laptop {
// 笔记本电脑有一个USB属性
private USB usb; // 面向接口编程
// 构造方法
public Laptop() {
}
public Laptop(USB usb) {
this.usb = usb;
}
// setter and getter
public void setUsb(USB usb) {
this.usb = usb;
}
public USB getUsb() {
return usb;
}
}
测试程序
/*测试程序*/
public class Test {
public void static void main(String[] args) {
// 创建鼠标对象
USB mouse = new Mouse();
// 创建键盘对象
USB keyboard = new Keyboard();
// 创建笔记本电脑对象
Laptop laptop = new Laptop();
// 给笔记本配置一个鼠标
laptop.setUsb(mouse);
// 启动鼠标
laptop.getUsb().open();
// 关闭鼠标
laptop.getUsb().close();
// 给笔记本配置一个键盘
laptop.setUsb(keyboard);
// 启动键盘
laptop.getUsb().open();
// 关闭键盘
laptop.getUsb().close();
}
}
运行结果
鼠标开启
鼠标关闭
键盘开启
键盘关闭