在面向對象編程中,「基類」是派生其他類的類(http://en.wikipedia.org/wiki/Base_class)。OOP中基類的相反之處是什麼?
但是,什麼是基類的相反?換句話說,什麼是沒有任何子類調用的類?
編輯:我正在尋找一個類沒有被分類的名稱,是在一個基類的多個父類的樹的繼承內部。
在面向對象編程中,「基類」是派生其他類的類(http://en.wikipedia.org/wiki/Base_class)。OOP中基類的相反之處是什麼?
但是,什麼是基類的相反?換句話說,什麼是沒有任何子類調用的類?
編輯:我正在尋找一個類沒有被分類的名稱,是在一個基類的多個父類的樹的繼承內部。
基類是相對術語。它只適用於考慮其派生類之一。下面是一些我認爲是相反的術語(並且大多數是正交的):
抽象和(通常)根類設計爲基類。密封類不能是基類,因爲它們是不可繼承的。根類是一個沒有基類的類(在C#和Java中,這個類是Object
)。葉類沒有子類,所以它不是基類;但它不一定是密封的。另一方面,密封類是總是葉類。
所以,
我要尋找的是一直沒有子類的類的名字,但
看來你正在尋找一個葉類, 但我不認爲它與基類相反。
在C#中,這些被稱爲密封類。您可以使用關鍵字sealed
來指示一個類不會被繼承。 VB使用關鍵字NotInheritable
。維基百科稱它們爲non-subclassable。
我通常聽到葉類。 Java通過final
執行它。
我密封類沒有從任何繼承。對我來說,與基類相反的是派生類,但作爲派生類並不排除它被繼承。
但聽起來像卡爾噸的答案可能是你在找什麼。
有沒有必要有一個術語,它只是被稱爲一個類。 – dave
* *未被分類的類和*不能被分類的類之間存在顯着差異。你的意思是? –
我正在尋找一個尚未歸類的類的名字,是的。 – archmeta