Java多态综合案例(包含接口,接口实现类)

首先定义一个接口 名为USB

其次定义两个实现类分别名为KeyBorad和Mouse

此时就可以使用多态了,因为实现类和接口某种意义上来说是继承关系。

USB u = new Keyborad();

USB u2  = new Mouse();

因为键盘和鼠标都具有插拔功能,所以为了方便,把这两个功能写入接口,然后实现类重写。

package com.itheima.d4_polymorphic_test;

/**
 * USB接口 == 规范
 */
public interface Usb {
    // 接入 拔出
    void connect();
    void unconnect();
}

但是键盘和鼠标也有他们的独有功能,所以把独有功能写入各自的实现类中

package com.itheima.d4_polymorphic_test;

public class KeyBoard implements Usb{
/**
     * 独有功能
     */
    public void KeyDown(){
        System.out.println("王文军键盘敲击了老铁666!");
    }
}

此时创建电脑类 Computer

package com.itheima.d4_polymorphic_test;

public class Computer{
    private String name;

    public Computer(String name) {
        this.name = name;
    }

    public void start(){
        System.out.println(name + "已经启动!");
    }
    /**
     * 提供安装usb设备的入口
     */

    public void installUSB(Usb u){
        //多态:usb == 可能是鼠标 也可能是键盘
        u.connect();
        if( u instanceof KeyBoard){
            KeyBoard k = (KeyBoard) u;
            k.KeyDown();
        }else if(u instanceof Mouse){
            Mouse m = (Mouse) u;
            m.click();
        }
        u.unconnect();
    }

}

再创建测试类Test

package com.itheima.d4_polymorphic_test;

/**
 * 目标: usb设备模拟
 * 1、定义usb接口: 接入、拔出
 * 2、定义2个usb的实现类,鼠标,键盘
 * 3、创建一个电脑对象,创建usb设备对象,安装启动
 */
public class Test {
    public static void main(String[] args) {
        //a、创建电脑对象
        Computer c = new Computer("原神电脑!");
        c.start();

        //b、创建鼠标,键盘对象
        Usb u = new KeyBoard("RK");
        c.installUSB(u);
        Usb u2 = new Mouse("雷蛇");
        c.installUSB(u2);

    }
}

然后运行就可以了

posted @ 2023-06-08 21:50  镰刀战士  阅读(102)  评论(0)    收藏  举报