- Java面向對象軟件開發
- 姚駿屏 汪衛星主編
- 590字
- 2018-12-29 19:04:16
2.2.1 類的繼承性
客觀世界充斥著相互關聯并且可劃分層次的各種對象,下一層擁有上一層的所有特性,但有著與上一層不同的特點。如車、汽車和轎車。在這里,汽車是車的下一層,而轎車是汽車的下一層。我們叫這種層次關系為繼承關系,表現為“是一種”的關系,如汽車“是一種”車,但反過來不能說凡是車都是汽車。在這里汽車繼承于車,汽車為車的子類,車為汽車的父類。如圖2-5所示正是一個繼承的層次圖,上一層為父類,下一層為子類。

圖2-5 類的繼承結構
繼承(Inheritance)是一種聯結類與類的層次模型。繼承性是指子類擁有父類的屬性和行為。繼承意味著“自動擁有”,即子類中不必重新定義已在父類中定義過的屬性和行為,而它卻自動、隱含擁有了其父類的屬性與行為。
繼承是面向對象程序設計的另一個重要特性,類繼承也稱為類派生,是指一個類可以繼承其他類的非私有成員,實現代碼復用。被繼承的類稱為父類或超類,父類包括所有直接或間接被繼承的類;繼承父類或超類后產生的類稱為派生類或子類。子類繼承父類的非私有屬性和方法,同時也可以修改繼承于父類的屬性和方法,或擁有自己新的屬性和方法。
特別提示:
● Java語言中所有的類,包括自定義的類,均是直接或間接地繼承java.lang包下的Object類得到的。
● 在Java語言中只允許類的單繼承,即每個類只能有一個父類。而C++中允許多繼承。
● 類繼承不改變成員的訪問權限,父類中的成員為公有的或被保護的,則其子類的成員訪問權限也繼承為公有的或被保護的。
推薦閱讀
- Extending Jenkins
- Learning C# by Developing Games with Unity 2020
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- iOS 9 Game Development Essentials
- Vue.js前端開發基礎與項目實戰
- PostgreSQL技術內幕:事務處理深度探索
- Java FX應用開發教程
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- Java 11 Cookbook
- SQL Server從入門到精通(第3版)
- 區塊鏈底層設計Java實戰
- Practical Game Design with Unity and Playmaker
- 零基礎學HTML+CSS
- INSTANT Apache ServiceMix How-to
- Applied Deep Learning with Python