【基礎介紹】
筆記本電腦(laptop) 通常具備使用USB設備的功能。定義USB接口,具備最基本的開啓功能和關閉功能。鼠標和鍵盤要想能在電腦上使用,那麼鼠標和鍵盤也必須遵守USB規範,實現USB接口,否則鼠標和鍵盤的生產出來也無法使用。
【案例分析】
描述筆記本類,實現筆記本使用USB鼠標、USB鍵盤:
●USB接口,包含打開設備功能、關閉設備功能;
●筆記本類,包含開機功能、關機功能、使用USB設備功能;
●鼠標類,要實現USB接口,並具備點擊的方法;
●鍵盤類,要實現USB接口,具備敲擊的方法。
●分析圖:
【代碼實現】
<USB接口>
package com.java.intreface;
public interface USB {
public abstract void open();
public abstract void close();
}
<筆記本電腦>
package com.java.intreface;
//筆記本電腦
public class Computer {
public void powerOn() {
System.out.println("電腦開機");
}
public void powerOf() {
System.out.println("電腦關機");
}
public void use(USB usb){
usb.open();
usb.close();
if(usb instanceof Mouse){ //向下轉型
Mouse mouse = (Mouse) usb;
mouse.click();
}else if(usb instanceof Keyboard){
Keyboard keyboard = (Keyboard)usb;
keyboard.input();
}
}
}
<鼠標類>
package com.java.intreface;
//鼠標類
public class Mouse implements USB{
@Override
public void open() {
System.out.println("打開鼠標");
}
@Override
public void close() {
System.out.println("關閉鼠標");
}
public void click(){
System.out.println("鼠標點擊");
}
}
<鍵盤類>
package com.java.intreface;
//鍵盤類
public class Keyboard implements USB {
@Override
public void open() {
System.out.println("打開鍵盤");
}
@Override
public void close() {
System.out.println("關閉鍵盤");
}
public void input(){
System.out.println("鍵盤輸入");
}
}
< Main >
package com.java.intreface;
public class DemonMain {
public static void main(String[] args) {
//創建一個筆記本電腦
Computer computer = new Computer();
computer.powerOn();
System.out.println("============");
/*
方法①:向下轉型
*/
USB usbMouse = new Mouse();
computer.use(usbMouse);
System.out.println("============");
/*
方法二:可以直接new: 類似於把int轉成double => 把keyboard轉成USB
*/
Keyboard useKeyboard = new Keyboard();
computer.use(useKeyboard); //本來括號裏面是USB類型 ①
//computer.use(new Keyboard());//使用匿名對象也可以 ②
System.out.println("============");
computer.powerOf();
}
}
【運行結果】