1.分析
- USB接口与USB设备之间的关系:USB设备必须满足USB接口的规范,设备才能被插入接口并使用,因此USB接口指定规范,USB设备执行规范,因此将USB作为接口,USB设备作为接口的实现类。
- 电脑与USB接口的关系:USB是属于电脑的一部分,因此电脑通过调用来实现USB的功能,因此USB接口是电脑类方法中的一部分。
思维导图
2.代码编写
- USB接口
public interface USB {
public abstract void inter();
}
- 三个接口实现类(U盘、鼠标、键盘)
public class Udisk implements USB {
//重写inter方法
public void inter(){
System.out.println("连接U盘");
}
}
public class Mouse implements USB {
//重写inter方法
public void inter(){
System.out.println("连接鼠标");
}
}
public class Keyboard implements USB {
//重写inter方法
public void inter(){
System.out.println("连接键盘");
}
}
- 电脑类
3.1 如何让电脑能够调用USB接口呢?
在电脑类中加入useUSB方法,通过此方法我们可以调用到USB接口的实现类方法从而使用设备,因此方法中必定含有USB类型的参数,从联想到了接口的多态性,可以解决这个问题!(接口类型 引用变量 = new 实现类;通过引用变量可以访问到实现类的方法)
public class Computer {
public void useUSB(USB usb){
usb.inter();
}
}
public class ComputerTest {
public static void main(String args[]){
//新建U盘对象
Udisk udisk = new Udisk();
//创建Computer对象
Computer computer = new Computer();
//让电脑调用useUSB方法来使用U盘
computer.useUSB(udisk);
}
}
实际上可以将Udisk udisk = new Udisk();
和computer.useUSB(udisk);
看作computer.useUSB(new Udisk());
更好理解。在Computer类中实际体现的就是USB usb = new Udisk();
实现了接口的多态,接口可以直接通过方法名来调用实现类的方法。