前言
在開始分享之前,請大家思考三個問題 。
1,什么是多態(tài)?
2,多態(tài)有幾種實現(xiàn)方式(除了接口還有什么可以實現(xiàn)多態(tài),答案不唯一。)
3,多態(tài)的好處
答案:大家可以把自己的見解分享到下面評論里
下面以接口的方式,實現(xiàn)多態(tài)。
目錄
- 案例
- 案例分析
- 功能分析:
- 關系圖:
- 案例實現(xiàn)
- 結果
- 源碼模塊下載
相關學習推薦:java基礎教程
案例
案例分析
功能分析:
關系圖:
從這個關系圖里可以看到,接口和電腦之間的關系。以及接口和鼠標,鍵盤之間的關系。
案例實現(xiàn)
USB接口:
package cn.itcast.day10.demo07;public interface USB { void open();//打開設備 void close();//關閉設備}
鍵盤類:實現(xiàn)USB接口
package cn.itcast.day10.demo07;//鍵盤本身就是一個USB設備public class keyboard implements USB { @Override public void open() { System.out.println("打開鍵盤"); } @Override public void close() { System.out.println("關閉鍵盤"); }}
鼠標類:實現(xiàn)USB接口
package cn.itcast.day10.demo07;//鼠標本身就是一個USB設備public class Mouse implements USB { @Override public void open() { System.out.println("打開鼠標"); } @Override public void close() { System.out.println("關閉鼠標"); }}
計算機類:使用USB接口
package cn.itcast.day10.demo07;public class Computer { //電腦本身自帶的功能 public void powerOn(){ System.out.println("筆記本電腦開機"); } public void powerOff(){ System.out.println("筆記本電腦關機"); } //使用USB接口方法 public void useDevice(USB usb){ usb.open(); usb.close(); }}
客戶端類:
package cn.itcast.day10.demo07;public class DemoMain { public static void main(String[] args) { Computer computer=new Computer();//實例化電腦 //省略向上轉型 computer.powerOn(); computer.useDevice(new Mouse()); //使用向上轉型 USB usb=new keyboard(); computer.useDevice(usb); computer.powerOff(); }}
結果
相關學習推薦:編程視頻