笔记本USB接口案例-接口多态的综合案例(向下转型),有图有内容建议码友们点亮拇指+收藏呐~

普歌-码灵团队:笔记本USB接口案例-接口多态的综合案例

一. 案例分析

步骤
进行描述笔记本类,实现笔记本使用USB鼠标,USB键盘

  • USB接口——包含打开设备功能,关闭设备功能
  • 笔记本类——包含开机功能,关机功能,使用USB设备功能
  • 鼠标类——要实现USB接口,并具备点击的方法
  • 键盘类——要实现USB接口,具备敲击的功能

案例过程分析图
案例过程分析图

二. USB接口类

public interface USB {
    public abstract void open();
    public abstract void close();
}

三. 笔记本类

public class Computer {
    public void powerOn(){
        System.out.println("笔记本开机");
    }
    public void powerOff(){
        System.out.println("笔记本关机");
    }
    //使用USB的方法,使用接口作为参数
    public void useDevice(USB usb){
        usb.open();
        //向下转型,接口名 instanceof 实现名
        if(usb instanceof Mouse){
            Mouse mouse=(Mouse) usb;
            mouse.click();
        }else if(usb instanceof Keyboard){
            Keyboard keyboard=(Keyboard) usb;
            keyboard.type();
        }
        usb.close();
    }
}

四. 鼠标类

public class Mouse implements USB{
    @Override//重写
    public void open() {
        System.out.println("打开鼠标");
    }
    @Override//重写
    public void close() {
        System.out.println("关闭鼠标");
    }
    public void click(){
        System.out.println("鼠标点击");
    }
}

五. 键盘类

public class Keyboard implements USB{
    @Override//重写
    public void open() {
        System.out.println("打开键盘");
    }

    @Override//重写
    public void close() {
        System.out.println("关闭键盘");
    }
    public void type(){
        System.out.println("键盘输入");
    }
}

六. 测试类


public class bjbmain1 {
    public static void main(String[] args) {
        //首先创造一个笔记本
        Computer computer=new Computer();
        computer.powerOn();
        //准备一个鼠标,供电脑使用
        USB usbMouse=new Mouse();//多态写法
        computer.useDevice(usbMouse);
        //准备一个键盘
        Keyboard keyboard=new Keyboard();//不是多态写法
        computer.useDevice(keyboard);
        //简化写法computer.useDevice(new Keyboard());
        computer.powerOff();
    }
}

七. 运行结果

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

~喜欢的点赞关注,评论区留下宝贵的意见-谢谢呐♥♥♥~


相关推荐:Aimee.洁的 《斗地主游戏综合案例-有序版本》And 《MySQL技术数据库基础操作命令大全》


*作者:Aimee.洁
*本文版权归作者和CSDN共有,欢迎转载,未经作者同意必须保留此版声明,否则保留追究法律责任的权利。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值