栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA基础多态案例:USB设备模拟

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA基础多态案例:USB设备模拟

Test测试类:

package InterFace_Implements.DuoTai;

public class Test {
    public static void main(String[] args) {
        //创建电脑对象
        Computer c=new Computer();
        c.Run("拯救者");

        //创建键盘对象
        USB k=new KeyPan("诺必行");
        c.installUSB(k);
        c.uninstallUSB(k);

        //创建鼠标对象
        USB m=new Mouse("飞利浦");
        c.installUSB(m);
        c.uninstallUSB(m);
    }
}
Computer类:
package InterFace_Implements.DuoTai;
//电脑类
public class Computer implements USB{
    private String name;//电脑品牌

    public static void Run(String name){
        System.out.println(name+"开机成功");
    }
    public  void installUSB(USB usb){//电脑安装usb
    usb.connect();
    //独有功能先判断,再强制转换
        if (usb instanceof KeyPan){//判断usb类型是键盘还是鼠标
            KeyPan k=(KeyPan) usb;
            k.KeyDown();
        }else if (usb instanceof Mouse){
            Mouse m=(Mouse) usb;
            m.move("飞利浦");
        }
    }
    public  void uninstallUSB(USB usb){//电脑卸装usb
        usb.unconnect();
        //独有功能先判断,再强制转换
        if (usb instanceof KeyPan){//判断usb类型是键盘还是鼠标
            KeyPan k=(KeyPan) usb;

        }else if (usb instanceof Mouse){
            Mouse m=(Mouse) usb;
        }
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Computer() {
    }

    @Override
    public void connect() {

    }

    @Override
    public void unconnect() {

    }
}
KeyPan类:
package InterFace_Implements.DuoTai;
//键盘类
public class KeyPan implements USB{
    private String name;//键盘名称

    public KeyPan() {
    }

    public KeyPan(String name) {
        this.name = name;
    }
    public  void KeyDown(){
        System.out.println("键盘按下了!!!");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public void connect() {
        System.out.println("欢迎键盘的到来!!");

    }

    @Override
    public void unconnect() {
        System.out.println("欢迎键盘下次的到来!!");

    }
}
Mouse类:
package InterFace_Implements.DuoTai;
//定义鼠标类
public class Mouse implements USB{
    private String name;//鼠标名称

    public  void move(String name){
        System.out.println(name+"移动了!");
    }

    public Mouse(String name) {//有参数构造器
        this.name = name;
    }

    public Mouse() {//无参数构造器
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public void connect() {
        System.out.println("欢迎鼠标的到来!!");
    }

    @Override
    public void unconnect() {
        System.out.println("欢迎鼠标下次的到来!!");
    }
}
USB接口:
package InterFace_Implements.DuoTai;
//创建USB接口
public interface USB {
    public abstract void connect();//插入usb
    public abstract void unconnect();//拔出usb
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754220.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号