面向物件程式設計/子類
外觀
< 面向物件程式設計
子類,也稱為派生類、繼承類或子類,是繼承自另一個類/類的語言實體的一個或多個類。雖然不同語言之間類繼承的工作方式可能存在一些細微差別,但通常情況下,子類會自動繼承其超類或父類的例項變數和成員函式。 [1] 從維基百科頁面上關於繼承的內容,您可以看到子類是如何定義的。 [2]
class SubClass: visibility SuperClass
{
// subclass members
};
'Subclass' 末尾的冒號表示它繼承自末尾的 "SuperClass"。
一些語言有不可子類化的類。這些是沒有任何子類的類。可以透過在類宣告中新增某些類修飾符來建立不可子類化的類。建立後,不可子類化的類會限制程式碼的可重用性,尤其是在原始碼不可訪問時。建立不可子類化的類的類修飾符的幾個例子包括 Java 的 'final' 關鍵字或 C# 的 'sealed' 關鍵字。這些修飾符是在類關鍵字和識別符號宣告之前新增到類宣告中的。
由於不可子類化的類沒有子類,因此對該類物件的引用或指標可以很容易地推斷為引用該類的例項,而不是子類或超類的例項,因為不可子類化的類沒有子類,並且對超類的例項會違反型別系統。由於在執行之前就知道引用的物件的精確型別,因此可以使用早期繫結(靜態排程)而不是後期繫結(動態排程)。
- ↑ https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)
- ↑ Herbert Schildt (2003). C++ 完整參考. 塔塔麥格勞-希爾教育私人有限公司. 第 417 頁. ISBN 978-0-07-053246-5.