• 做个复习案例(把面向对象三大特征给复习一遍 以及接口 )


    package com.itheiReview;
    
    /**
     * @program: javaDemo01->TestReview
     * @description: 复习案例
     * @author: 安生
     * @create: 2021-01-19 22:51
     **/
    
    import java.security.Key;
    
    /**
        需求:
            弄一台电脑 (实现USB功能)
            USB(鼠标,键盘)  实现插入和拔出 以及特有功能
     */
    public class TestReview {
        public static void main(String[] args) {
            //买一台电脑
            Computer c = new Computer();
            //创建鼠标 小米鼠标
            USB xiaomi = new Mouse("小米鼠标");
            c.installUSB(xiaomi);
            System.out.println("--------------");
            USB shaunfei = new Mouse("双飞键盘");
            c.installUSB(shaunfei);
        }
    
    }
    
    //电脑类  提供USB的入口 具体实现出来
    class Computer{
        public void installUSB(USB usb){
            //插入
            usb.connect();
            // 特有方法
            if(usb instanceof Mouse){
                Mouse m = (Mouse) usb;
                m.dbClick();
            }else if(usb instanceof KeyBoard){
                KeyBoard k = (KeyBoard) usb;
                k.keyDown();
            }
            // 拔出
            usb.unconnect();
        }
    }
    //鼠标  提供一个鼠标的规范
    class Mouse implements USB{
        private String name;
        public Mouse(){}
        public Mouse(String name) {
            this.name = name;
        }
        //鼠标 双击的特有功能
        public void dbClick(){
            System.out.println("来了 老铁 双击点亮小红♥");
        }
        @Override
        public void connect() {
            System.out.println(name+"插入鼠标连接成功!");
        }
    
        @Override
        public void unconnect() {
            System.out.println(name+"拔出鼠标连接成功!");
        }
    }
    //键盘  提供一个键盘的规范
    class KeyBoard implements USB{
        private String name;
        public KeyBoard(){}
        public KeyBoard(String name) {
            this.name = name;
        }
        //键盘  敲键盘的特有功能
        public void keyDown(){
            System.out.println("敲出了 来了 老弟");
        }
        @Override
        public void connect() {
            System.out.println(name+"插入键盘连接成功!");
        }
    
        @Override
        public void unconnect() {
            System.out.println(name+"拔出键盘连接成功!");
        }
    }
    
    //第一步 规范接口  USB
    interface USB{
        // 公有功能:
        //插入
        void connect();
        //拔出
        void unconnect();
    }
  • 相关阅读:
    VINS bug 调试 : undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>,
    Fundamental Matrix
    const和指针数组
    结构体的嵌套,结构体内定义结构体。
    第4章:动态规划
    第3章:有限马尔科夫决策过程
    吴恩达深度学习中reshape图片数据的用法
    Logistic 回归Loss函数与交叉熵、极大似然估计 关系
    Logistic 回归(吴恩达)
    强化学习Sutton (Reinforcement Learning : An introduction )文章概括和总结
  • 原文地址:https://www.cnblogs.com/bichen-01/p/14300624.html
Copyright © 2020-2023  润新知