Puge-Yiyanチーム-(シンプルで理解しやすい)ラップトップUSBインターフェイスケースインターフェイスポリモーフィズム(下向きの変換)

USBインターフェースケースの実装手順:

分析:

1)USBインターフェース:開閉機能あり
2)マウスタイプ:マウスはUSBインターフェースを使用し、開閉機能あり、クリック機能あり
3)キーボードタイプ:キーボードはUSBインターフェースを使用し、開閉機能、入力機能
4)コンピュータクラス:電源オン/オフ機能(電源オン/オフはUSBインターフェースを必要としません)、USBインターフェースを実現でき、USBインターフェースを使用してマウスとキーボード
5)テストクラス:コンピュータの電源のオンとオフ、およびマウスとキーボードの開放について、閉じる、クリック、入力してテストする

成し遂げる:

USBインターフェース:
public interface USB {
public abstract void open();//打开

public abstract void close();//关闭
}
マウスのカテゴリ:
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("关闭鼠标");
}
}
キーボードカテゴリ:
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("关闭键盘");
}
}
コンピュータカテゴリ:
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();
}
} 
テストカテゴリ:
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();


}
}  

結果:

笔记本电脑开机
打开鼠标
鼠标点击
关闭鼠标
打开键盘
键盘输入
关闭键盘
笔记本电脑关机

読んでいただきありがとうございます、欠陥を修正することを歓迎します!

おすすめ

転載: blog.csdn.net/weixin_51749554/article/details/113799572