接口多態綜合案例(電腦USB接口)

筆記本電腦

筆記本電腦( laptop)通常具備使用USB設備的功能。在生產時,筆記本都預留了可以插入USB設備的USB接口,
但具體是什麼USB設備,筆記本廠商並不關心,只要符合USB規格的設備都可以。
定義USB接口,具備最基本的開啓功能和關閉功能。鼠標和鍵盤要想能在電腦上使用,那麼鼠標和鍵盤也必須遵守
USB規範,實現USB接口,否則鼠標和鍵盤的生產出來也無法使用。

案例分析

進行描述筆記本類,實現筆記本使用USB鼠標、USB鍵盤

  • USB 接口,包含開啓設備功能、關閉設備功能
  • 筆記本類,包含運行功能、關機功能、使用 USB設備功能
  • 鼠標類,要實現 USB接口,並具備點擊的方法
  • 鍵盤類,要實現 USB接口,具備敲擊的方法

在這裏插入圖片描述
電腦類:

public class computer {
    //筆記本開機方法
    public void powerOn(){
        System.out.println("筆記本電腦開機");
    }
    //筆記本關機方法
    public void powerOff(){
        System.out.println("筆記本電腦關機");
    }
    //使用設備,使用接口作爲方法的闡述
    public void useDevice(USB usb){
        usb.openDevice();//打開設備,會調用對應對象實現的接口方法
        if(usb instanceof  Mouse){
            Mouse mouse = (Mouse)usb;//向下轉型
                mouse.click();//點擊鼠標
        }else if(usb instanceof Keyboard){
            Keyboard keyboard = (Keyboard)usb;//向下轉型
            keyboard.type();//敲擊鍵盤
        }
        usb.closeDevice();//關閉設備
    }
}

接口類:

public interface USB {
    public abstract void openDevice();//打開設備方法
    public abstract void closeDevice();//關閉設備方法
}

鼠標類:

//鍵盤就是一種USB設備
public class Mouse implements USB {
    @Override
    public void openDevice() {
        System.out.println("打開鼠標");
    }

    @Override
    public void closeDevice() {
        System.out.println("關閉鼠標");
    }
    public void click(){
        System.out.println("鼠標點擊");
    }
}

鍵盤類:

public class Keyboard implements USB {
    @Override
    public void openDevice() {
        System.out.println("打開鍵盤");
    }

    @Override
    public void closeDevice() {
        System.out.println("關閉鍵盤");
    }
    public  void type(){
        System.out.println("敲擊鍵盤");
    }
}

運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章