對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:))