在開始分享之前,請大家思考三個問題 。
1,什么是多態(tài)?
2,多態(tài)有幾種實現(xiàn)方式(除了接口還有什么可以實現(xiàn)多態(tài),答案不唯一。)
3,多態(tài)的好處
答案:大家可以把自己的見解分享到下面評論里
下面以接口的方式,實現(xiàn)多態(tài)。
目錄案例案例分析功能分析:關(guān)系圖:案例實現(xiàn)結(jié)果源碼模塊下載
相關(guān)學(xué)習(xí)推薦:java基礎(chǔ)教程
案例
案例分析功能分析:
關(guān)系圖:
從這個關(guān)系圖里可以看到,接口和電腦之間的關(guān)系。以及接口和鼠標(biāo),鍵盤之間的關(guān)系。
案例實現(xiàn)
USB接口:
package cn.itcast.day10.demo07;public interface USB {
void open();//打開設(shè)備
void close();//關(guān)閉設(shè)備}
鍵盤類:實現(xiàn)USB接口
package cn.itcast.day10.demo07;//鍵盤本身就是一個USB設(shè)備public class keyboard implements USB {
@Override
public void open() {
System.out.println("打開鍵盤");
}
@Override
public void close() {
System.out.println("關(guān)閉鍵盤");
}}
鼠標(biāo)類:實現(xiàn)USB接口
package cn.itcast.day10.demo07;//鼠標(biāo)本身就是一個USB設(shè)備public class Mouse implements USB {
@Override
public void open() {
System.out.println("打開鼠標(biāo)");
}
@Override
public void close() {
System.out.println("關(guān)閉鼠標(biāo)");
}}
計算機(jī)類:使用USB接口
package cn.itcast.day10.demo07;public class Computer {
//電腦本身自帶的功能
public void powerOn(){
System.out.println("筆記本電腦開機(jī)");
}
public void powerOff(){
System.out.println("筆記本電腦關(guān)機(jī)");
}
//使用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();//實例化電腦
//省略向上轉(zhuǎn)型
computer.powerOn();
computer.useDevice(new Mouse());
//使用向上轉(zhuǎn)型
USB usb=new keyboard();
computer.useDevice(usb);
computer.powerOff();
}}
結(jié)果
相關(guān)學(xué)習(xí)推薦:編程視頻
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機(jī)的問題,請訪問西部數(shù)碼官網(wǎng):m.ps-sw.cn