iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
自我挑戰組

菜雞的JAVA日記系列 第 14

DAY14-JAVA的繼承(1)

對OOP的程式來說,類別的精隨之處在於類別有「繼承」(inheritance)這項功能,繼承可以讓我們以既有的類別為基礎,進而衍生出新的類別。

JAVA可以根據既有類別為基礎,進而衍生出另一類別,這種概念稱之為「類別的繼承」,此時,既有的類別稱為父類別(super class)或基底類別(basic class),而衍生出的類別稱為子類別(sub class)或衍生類別(derived class)。

在JAVA中,每一個類別只能有一個父類別,這是所謂的單一繼承(single inheritance),但相反的,一個父類別可以擁有一個以上的子類別。

經過繼承之後,子類別便可擁有父類別的成員,包括所有的資料成員與函數成員,但並不代表在子類別中,便可以完全沒有限制的存取這些成員。

子類別可以繼承的
(1)沒有宣告成public或是private的成員
(2)public成員
(3)protected成員

子類別不能繼承的
(1)建構元
(2)設定終止繼承的成員
(3)private成員(不能直接在子類別存取,只能透過父類別的函數做存取)

extends
類別的繼承關鍵字是extends,以下是語法:

class 父類別名稱{
//父類別裡的成員
}
class 子類別名稱 extends 父類別名稱{
//子類別裡的成員
}

class Test{  //父類別Test
    private height = 10;
    private double width;
    ...
}
class haha extends Test{  //子類別haha繼承父類別Test
    ...
}

JAVA在執行子類別的建構元之前,會先呼叫父類別的建構元,其目的是為了要幫助繼承自父類別的成員做初始化的動作。

菜鳥工程師的體脂肪

菜鳥工程師也有分享食記,歡迎大家追蹤喔~~
https://instagram.com/engineer_bodyfat?utm_medium=copy_link

開學啦~~今天先到這!!
趁空堂寫一下XD
See U tomorrow:))


上一篇
DAY13-JAVA的類別(7)-內部類別
下一篇
DAY15-JAVA的繼承(2)
系列文
菜雞的JAVA日記30

尚未有邦友留言

立即登入留言