iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0

「繼承」仍是物件導向中非常重要的一環(已經不知道說過幾遍很重要了,但事實是他們真的都很重要),繼承可以保有原先的功能並加以拓展,不必再重複寫原先相同的部分,根據已有的類別衍生出一新的類別。

基本概念

java中父類別可衍生出一個以上的子類別,可是每個子類別只能有一個父類別,意即單一繼承(single inheritance),繼承後子類別能有限的讀取父類別存取的成員。需要注意一下能讀取的和不能的
1.可以繼承的成員:沒宣告public或private的成員、public成員、protected成員
2.不能繼承的:父類別的構造函數、設定終止繼承的成員

https://ithelp.ithome.com.tw/upload/images/20240922/20169436rAh7izQCis.png

建構子的呼叫

前面有提到父類別的建構子是不能直接繼承的,因為如果父類別中有數個建構子,我們需要特定的方法呼叫特定的建構子,這個就是得透過super()來呼叫,若父類別的構造函數有引數的話,super()指令中也得加。

改寫

子類可以覆寫父類的方法,但需要在子類中使用 @Override 註解來表明這是方法覆寫。如果不使用 @Override,覆寫的意圖可能不清楚。

覆寫與多載(Overload)不同。覆寫要求方法完全一致,而多載則是允許相同方法名但不同參數列表的多個方法並存。這點在子類覆寫方法時,必須注意與多載的區別。

多載(overloading):相同類別內,定義名稱相同,但引數個數或型別不同的函數,java便可依據引數的個數或型別,呼叫相對應的函數。
覆寫(overriding):在子類別中,定義名稱、引數個數與傳回值的型別均與父類別相同的函數,用以改寫父類別裡函數的功用

今天學習到這裡,明天會學習陣列與Arraylist。


上一篇
Day7 類別的進階認識(建構子)
下一篇
Day9 陣列
系列文
原來程式語言一點都不難!跟著我30天java自學之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言