案例背景
电脑通常是支持 USB设备 的功能,通过 USB 可以连接鼠标、键盘等,还能进行鼠标的点击,键盘的输入等鼠标的特有操作
案例分析
进行操作的主类,电脑类,实现电脑使用USB鼠标,USB键盘
- USB 接口类:包含
打开设备
和关闭设备
功能 - 电脑类:包含
开机
、关机
和使用USB设备
的功能 - 鼠标:实现
USB接口
,并有点击
的功能 - 键盘:实现
USB接口
,必有输入
的方法
案例实现
定义USB接口类:
public interface USB { // 开启设备 public abstract void open(); // 关闭接口 public abstract void close(); }
定义电脑类:
public class Computer { // 开启电脑方法 public void on() { System.out.println("开启电脑"); } // 关闭电脑方法 public void off() { System.out.println("关闭电脑"); } // 使用设备 public void useDevice(USB use){ use.open(); // USB 设备的开启 // USB 设备特有方法的使用 if (use instanceof Mouse){ // 判断 Mouse 的父类是不是 USB Mouse useMouse = (Mouse) use; // 向下转型 useMouse.click(); }else if (use instanceof Keyboard){ ((Keyboard) use).input(); // 向下转型 } use.close(); // USB 设备的关闭 }; }
鼠标类:
public class Mouse implements USB { @Override public void open() { System.out.println("打开鼠标"); } @Override public void close() { System.out.println("关闭鼠标"); } // 鼠标的特有操作 public void click(){ System.out.println("鼠标点击了"); } }
键盘类:
public class Keyboard implements USB { // 打开键盘 @Override public void open() { System.out.println("键盘打开"); } @Override public void close() { System.out.println("键盘关闭"); } // 键盘的特有操作 public void input(){ System.out.println("正在输入中......"); } }
操作的主类:
public class MainDemo { public static void main(String[] args) { // 实例化电脑类 Computer computer = new Computer(); computer.on(); // 电脑开机 // USB鼠标的操作 USB mouse = new Mouse(); // 多态的写法 computer.useDevice(mouse); // USB键盘的操作 Keyboard keyboard = new Keyboard(); // 不是多态写法 USB usbKeyboard = keyboard; // 向上转型 为 USB 类 computer.useDevice(usbKeyboard); computer.off(); // 电脑关机 } }
版权声明:《 Java 接口、抽象类、继承、多态的综合案例 》为明妃原创文章,转载请注明出处!
最后编辑:2019-10-26 07:10:16
2019-10-26 15:09