zoukankan      html  css  js  c++  java
  • 做个复习案例(把面向对象三大特征给复习一遍 以及接口 )

    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();
    }
  • 相关阅读:
    破周三,前不着村后不着店的,只好学pandas了,你该这么学,No.9
    周一不睡觉,也要把pandas groupy 肝完,你该这么学,No.8
    大周末的不休息,继续学习pandas吧,pandas你该这么学,No.7
    链接
    音乐
    术语
    新闻
    我的文章分类
    我的代码规则
    Jenkins 访问特别慢,且不消耗服务器资源
  • 原文地址:https://www.cnblogs.com/bichen-01/p/14300624.html
Copyright © 2011-2022 走看看