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();
    }
  • 相关阅读:
    PHP数组(数组正则表达式、数组、预定义数组)
    面向对象。OOP三大特征:封装,继承,多态。 这个讲的是【封存】
    uvalive 3938 "Ray, Pass me the dishes!" 线段树 区间合并
    LA4329 Ping pong 树状数组
    HDU 1257 最少拦截系统
    HDU 1260 Tickets
    codeforce 621D
    codeforce 621C Wet Shark and Flowers
    codeforce 621B Wet Shark and Bishops
    codeforce 621A Wet Shark and Odd and Even
  • 原文地址:https://www.cnblogs.com/bichen-01/p/14300624.html
Copyright © 2011-2022 走看看