JAVA单排日记-2019/10/29-USB案例

在这里插入图片描述
在这里插入图片描述

USB接口:

public interface USB {
    public abstract void openDevice();
    public abstract void closeDevice();
}

鼠标:

public class Mouce implements USB {

    @Override
    public void openDevice() {
        System.out.println("鼠标已经连接");
    }

    @Override
    public void closeDevice() {
        System.out.println("鼠标已经断开连接");
    }
    public void click(){
        System.out.println("鼠标点击");
    }
}

键盘

public class Input implements USB{
    @Override
    public void openDevice() {
        System.out.println("键盘已经连接");
    }

    @Override
    public void closeDevice() {
        System.out.println("键盘已经断开连接");
    }
    public void in(){
        System.out.println("键盘输入");
    }
}

笔记本

public class Book {
    public void Open() {
        System.out.println("开机");
    }

    public void close() {
        System.out.println("关机");
    }
	
	使用设备:
    public void usbDevice(USB device){  首先将USB类型的设备作为参数输入;
        device.openDevice();            打开设备;

        if (device instanceof Mouce){  如果设备是鼠标;
            ((Mouce) device).click();  先使用向下转换,将USB类型的device强制转换为Mouse,再调用鼠标的点击方法;
        }else if (device instanceof Input){ 如果设备是键盘;
            ((Input) device).in();  先使用向下转换,将USB类型的device强制转换为Input, 则使用键盘的输入;
        }

        device.closeDevice();        关闭设备;
    }
}

调用

public class DemoUSB {
    public static void main(String[] args) {
        Book book = new Book();
        USB mouse = new Mouce(); 多态的写法
        USB Input = new Input(); 多态的写法

        book.Open();
        book.usbDevice(Input);
        book.usbDevice(mouse);
        book.close();
    }
}

在这里插入图片描述

发布了90 篇原创文章 · 获赞 1 · 访问量 2078

猜你喜欢

转载自blog.csdn.net/wangzilong1995/article/details/102807274