菜鸡学习day10_02_接口多态的实现案例(笔记本连接鼠标、usb、键盘+功能)

菜鸡学习day10_02

package day1002;
/*
接口多态的实现案例
实现笔记本使用usb鼠标,usb键盘
usb接口(打开/关闭设备功能)
笔记本(开机/关机/使用usb设备)
鼠标(实现usb接口/点击)
键盘(实现usb接口/敲击)
 */
public class D1002 {
    public static void main(String[] args) {
        Computer computer = new Computer();//创建电脑
        computer.powerOn();//开机
        Mouse mouse = new Mouse();//创建鼠标
        USB usb1 = new Mouse();//向上转型
        computer.use(usb1);//
        Keyboard keyboard = new Keyboard();
        USB usb2 = new Keyboard();//向上转型
        computer.use(usb2);//
        computer.powerOff();
    }
}
package day1002;
/*
笔记本(开机/关机/使用usb设备)
 */
public class Computer {
    public void powerOn(){
        System.out.println("打开电脑。");
    }

    public void powerOff(){
        System.out.println("关闭电脑。");
    }

    public void use(USB device){//使用usb设备
        device.open();//打开设备

        if(device instanceof Mouse){            //判断设备
            Mouse mouse = (Mouse) device;
            mouse.method();
        }
        if(device instanceof Keyboard){
            Keyboard keyboard = (Keyboard) device;
            keyboard.method();
        }

        device.close();//关闭设备
    }
}
package day1002;
/*
usb接口(打开/关闭设备功能)
 */
public interface USB {
    public abstract void open();//打开设备
    public abstract void close();//关闭设备
}
package day1002;
/*
鼠标(实现usb接口/点击)
 */
public class Mouse implements USB {
    @Override
    public void open() {
        System.out.println("打开鼠标。");
    }

    @Override
    public void close() {
        System.out.println("关闭鼠标。");
    }

    public void method(){
        System.out.println("鼠标点击功能。");//鼠标特有功能
    }
}
package day1002;
/*
键盘(实现usb接口/敲击)
 */
public class Keyboard implements USB{
    @Override
    public void open() {
        System.out.println("打开键盘。");
    }

    @Override
    public void close() {
        System.out.println("关闭键盘。");
    }

    public void method(){
        System.out.println("键盘敲击功能。");//键盘特有功能
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值