需求:
- 使用多态,面向对象编程模拟:
设计一个电脑对象,可以安装2个USB设备(鼠标与键盘)
鼠标:被安装时可以完成接入、调用点击功能、拔出功能。
键盘:被安装时可以完成接入、调用打字功能、拔出功能。
- 分析
1 定义一个USB的接口(申明USB设备的规范必须是:可以接入和拔出)。
2 提供2个USB实现类代表鼠标和键盘,让其实现USB接口,并分别定义独有功能。
3 创建电脑对象,创建2个USB实现类对象,分别安装到电脑中并触发功能的执行。
代码:
package com.d12_polymorphic_demo;
public class Computer {
//定义电脑名字
String name;
//定义一个电脑独有的方法
public void start(){
System.out.println(name + "电脑开机了。。。。。");
}
//定义安装USB设备的方法,利用多态,将参数设置成接口类型
public void install(USB usb){
//1此时已经链接电脑
usb.connect();
//2判断传进的参数usb是哪种类型
if (usb instanceof KeyBoard) {
//强制转换类型
KeyBoard k = (KeyBoard) usb;
k.kClick();
}else