官术网_书友最值得收藏!

2.2.1 類的繼承性

客觀世界充斥著相互關聯并且可劃分層次的各種對象,下一層擁有上一層的所有特性,但有著與上一層不同的特點。如車、汽車和轎車。在這里,汽車是車的下一層,而轎車是汽車的下一層。我們叫這種層次關系為繼承關系,表現為“是一種”的關系,如汽車“是一種”車,但反過來不能說凡是車都是汽車。在這里汽車繼承于車,汽車為車的子類,車為汽車的父類。如圖2-5所示正是一個繼承的層次圖,上一層為父類,下一層為子類。

圖2-5 類的繼承結構

繼承(Inheritance)是一種聯結類與類的層次模型。繼承性是指子類擁有父類的屬性和行為。繼承意味著“自動擁有”,即子類中不必重新定義已在父類中定義過的屬性和行為,而它卻自動、隱含擁有了其父類的屬性與行為。

繼承是面向對象程序設計的另一個重要特性,類繼承也稱為類派生,是指一個類可以繼承其他類的非私有成員,實現代碼復用。被繼承的類稱為父類或超類,父類包括所有直接或間接被繼承的類;繼承父類或超類后產生的類稱為派生類或子類。子類繼承父類的非私有屬性和方法,同時也可以修改繼承于父類的屬性和方法,或擁有自己新的屬性和方法。

特別提示:

● Java語言中所有的類,包括自定義的類,均是直接或間接地繼承java.lang包下的Object類得到的。

● 在Java語言中只允許類的單繼承,即每個類只能有一個父類。而C++中允許多繼承。

● 類繼承不改變成員的訪問權限,父類中的成員為公有的或被保護的,則其子類的成員訪問權限也繼承為公有的或被保護的。

主站蜘蛛池模板: 徐闻县| 双峰县| 峨山| 富民县| 富阳市| 白玉县| 图片| 涿州市| 无棣县| 中方县| 璧山县| 兰坪| 新营市| 西乌珠穆沁旗| 安福县| 噶尔县| 庄浪县| 伊宁县| 花莲县| 桂林市| 郴州市| 定远县| 康保县| 青铜峡市| 板桥市| 邵阳县| 瑞昌市| 永济市| 洛南县| 灵丘县| 合川市| 当阳市| 福清市| 哈巴河县| 鹿邑县| 西青区| 都昌县| 贵阳市| 蒙阴县| 中西区| 丰城市|