Etapas de implementação do caso de interface USB:
análise:
1) Interface USB: tem a função de abrir e fechar
2) Tipo de mouse: o mouse usa a interface USB, tem a função de abrir e fechar e tem a função de clique
3) Tipo de teclado: o teclado usa a interface USB, tem a função de abertura e fechamento, e tem função de entrada
4) Classe de computador: tem a função de ligar e desligar (ligar e desligar não precisa de interface USB), pode realizar a interface USB, você pode usar a interface USB para usar o mouse e teclado
5) Classe de teste: para ligar e desligar o computador e abrir o mouse e o teclado, Fechar, clicar, entrar para testar
alcançar:
Interface USB:
public interface USB {
public abstract void open();//打开
public abstract void close();//关闭
}
Categoria do mouse:
public class Mouse implements USB{
@Override
public void open() {
System.out.println("打开鼠标");
}
//鼠标特定方法点击
public void click() {
System.out.println("鼠标点击");
}
@Override
public void close() {
System.out.println("关闭鼠标");
}
}
Categoria de teclado:
public class Keyboard implements USB {
@Override
public void open() {
System.out.println("打开键盘");
}
//键盘特定方法输入
public void input() {
System.out.println("键盘输入");
}
@Override
public void close() {
System.out.println("关闭键盘");
}
}
Categoria de computador:
public class Computer {
public void powerOn() {
System.out.println("笔记本电脑开机");
}
public void powerOff() {
System.out.println("笔记本电脑关机");
}
public void useDevice(USB usb) {
usb.open();
//使用instanceof关键字,判断usb是键盘还是鼠标
if (usb instanceof Mouse) {
//向下转型
Mouse mouse = (Mouse) usb;
mouse.click();
} else if (usb instanceof Keyboard) {
//向下转型
Keyboard keyboard = (Keyboard) usb;
keyboard.input();
}
usb.close();
}
}
Categoria de teste:
public class Test {
public static void main(String[] args) {
//创建电脑对象
Computer computer = new Computer();
computer.powerOn();
//创建鼠标对象
USB usb1 = new Mouse();
computer.useDevice(usb1);
USB usb2 = new Keyboard();
computer.useDevice(usb2);
computer.powerOff();
}
}
resultado:
笔记本电脑开机
打开鼠标
鼠标点击
关闭鼠标
打开键盘
键盘输入
关闭键盘
笔记本电脑关机