iT邦幫忙

2021 iThome 鐵人賽

DAY 29
0
自我挑戰組

JAVA的實作與應用系列 第 29

Day 29 Polymorphism

多型是物件導向程式設計中第三個重要的概念,他建立在繼承的概念上,多型是一種型別,可以解釋為具有多個不同表現形式能力的一種行為,白話的說,
是指同一種方法可以在不同的類別裡有不同的實現方式 ; 多行有可複用性及可維護性,同時他也可以提高程式框衝的條件性。可複用性是指在寫程式時不必要為每一個子類都建立一個相同的方法或功能,只需要對父類處理就好了。

以下有一個例子:
有兩個學生,高中生跟大學生,高中生要寫作業,大學生要做報告,我們用多型實作這個例子。

Step1 大家都是student 所以寫student都該做的事doMyJob。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456k6b9D0unSI.png

Step2 高中生跟大學生都是student因此繼承父類student,並且寫入個別要做的事,高中生doHomework,大學生writeReports。Override是指子類別繼承父類別時,改寫父類別原有的方法內容。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456dV4ZTQoc2Y.png

Step3 在main方法裡呼叫HighSchoolStudent及CollegeStudent的建構值,
將a設為HighSchoolStudent,b設為CollegeStudent,並且讓a、b goStudy。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456czd5ArWfXu.png

Step4 宣告Student為student,並讓student都去doMyJob,完成多型物件導向程式設計。
https://ithelp.ithome.com.tw/upload/images/20211011/20140456a5Z6BEAAaa.png


上一篇
Day28 傳播鏈程式實作
下一篇
Day 30 GUI
系列文
JAVA的實作與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言