其他分享
首页 > 其他分享> > 欢迎进入四年IT梦回首的脱发空间

欢迎进入四年IT梦回首的脱发空间

作者:互联网

java 多态 实战分析

java多态的理解

核心理解:不同的对象实现(implements)同一个接口来完成不同的行为。文字举例:笔记本电脑都有USB接口,鼠标和键盘都可以通过USB接口与电脑连接,那么这里鼠标点击和键盘输入就是多态的体现。

编程思路

1.首先完成USB接口的编写。—>对应框架中的interface
2.键盘和鼠标通过implements USB接口完成不同的行为(方法)。—>对应框架中的serviceImp
3.电脑来控制完成键盘和鼠标的行为。—>对应框架中的controller
4.打印日志。—>log

上代码

1.编写USB接口类代码片.

/**
 * USB接口类
 * @author yqq
 */
public interface Usb {
    //插入usb
    void open();
    //拔出usb
    void close();
}

/**
 * 鼠标类 implements USB 来完成鼠标的行为
 * @author yqq
 */
public class Mouse implements Usb {

    public void open() {
        System.out.println("鼠标插入");
    }

    public void close() {
        System.out.println("鼠标拔出");
    }

    public void getClick(){
        System.out.println("鼠标点击");
    }
}

/**
 * 键盘类  implements USB 完成键盘的行为
 * @author yqq
 */
public class Keyboard implements Usb{
    public void open() {
        System.out.println("键盘打开");
    }

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

    }

    public void getClick(){
        System.out.println("键盘输入");
    }
}

/**
 * 电脑类 控制鼠标和键盘完成不同的行为
 */
public class Computer {
    public void open(){
        System.out.println("笔记本开机");
    }
    public void close(){
        System.out.println("笔记本关机");
    }
    //定义笔记本接入USB接口  usb作为形参
    public void getUsb(Usb usb){
        usb.open();
        if (usb instanceof Mouse){
            Mouse mouse = (Mouse) usb;
            mouse.getClick();
        }else if (usb instanceof Keyboard){
            Keyboard keyboard = (Keyboard) usb;
            keyboard.getClick();
        }
    }
}

/**
 * oop多态测试类
 * @author yqq
 */
public class Test {
    public static void main(String[] args) {
        Computer computer = new Computer();
        computer.open();
        Mouse mouse = new Mouse();
        computer.getUsb(mouse);
        mouse.close();
        Keyboard keyboard = new Keyboard();
        computer.getUsb(keyboard);
        keyboard.close();
        computer.close();
    }
}

2.执行main方法,打印日志。


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

Process finished with exit code 0

标签:脱发,鼠标,欢迎,回首,public,println,USB,void,usb
来源: https://blog.csdn.net/weixin_42025953/article/details/114195410