父類和超類之間是否有區別?超類只是一個不能從其他類繼承的父類?父類和超類之間的區別
5
A
回答
2
這更多的是術語差異。父母和孩子班或超級班和子班的想法。它似乎取決於編程語言的經驗和應用領域,你使用哪一個。
super()是如何在派生類中調用Java類的父類或超類構造函數。
多年前術語中有相當數量的流失,所以較早和更有經驗的程序員早期進入面向對象可能會使事情有點不同。
父窗口和子窗口也用於窗口系統,其中一個窗口包含在另一個窗口中,因此術語也可以重用。
2
我會說這是一樣的。
你可能想區分直接父母或超類,但我猜這兩個詞在這方面還不夠清楚。所以如果這是你想要表達的東西,那麼最好是明確的。另外,許多編程語言都有用於引用(單個)直接父類的「超級」關鍵字。但即使在那裏,如果你稱之爲「超級」方法,而直接父母沒有實現它,它也會起泡。
0
它們本質上是相同的。根據不同的語言,術語會發生變化。父母可能意味着直接的父母,而超級可能意味着任何祖先類別。另外,在java中,還有super()方法,它調用父類的構造函數。
3
它們是解決同一個OOP概念的不同術語:繼承。如果類ChildClass
擴展,你可以說ParentClass
:
ChildClass
父類的父類是ParentClass
是超一流ChildClass的
繼承層次無關那裏,沒關係如果一個超類本身擴展了另一個類。
0
在紅寶石語言我們有兩個概念意義不同的東西。
ParentClass -> ChildClass
- >此用於命名空間
和
SuperClass -> SubClass
- >此用於繼承下面
實例:
ParentClass -> ChildClass
:
class A
def self.f1
puts "A -> #{self.name}.f1 called"
end
# B is childclass of A
class B
def self.f2
puts "B -> #{self.name}.f2 called"
end
end
end
# C is subclass of A
class C < A
def self.f3
puts "C -> #{self.name}.f3 called"
B.f2
end
end
見下面的輸出:
C.f1
A - > C.f1稱爲
C.f3
Ç - > C.f3稱爲
乙 - > A :: B.f2稱爲
相關問題
- 1. 超類和超類型之間的區別以及子類和子類型之間的區別
- 2. 子類和類別之間的區別?
- 3. APIView類和viewsets類之間的區別?
- 4. Pattern類和Matcher類之間的區別
- 5. 類和類之間的區別<?>
- 6. 類區域和堆之間的區別
- 7. SPFile和PublishingPage類別之間的區別
- 8. SoundEffect和SoundEffectInstance類之間的區別
- 9. 結構和類之間的區別?
- 10. Smarty和SmartyBC類之間的區別
- 11. BrowseFragment和BrowseSupportFragment類之間的區別?
- 12. 分類()和attr(「class」)之間的區別
- 13. 類和包之間的區別
- 14. java類和jar之間的區別
- 15. 分類和迴歸之間的區別
- 16. MustInherit和抽象類之間的區別
- 17. 類庫和個別類之間的區別
- 18. 類型別名和類型lambda之間的區別
- 19. 類(),新類和新類之間的區別()
- 20. 類foo,類foo()和類foo(object)之間的區別?
- 21. 睡眠和超時之間的區別?
- 22. 區分超類和小類之間的變量
- 23. java中的GregorianCalendar類和Calendar類之間的區別?
- 24. 「公共」類和未修改的類之間的區別?
- 25. Java中的類<?>和類<Object>之間的區別
- 26. Objective C類和UIViewController子類之間的區別
- 27. (類型)值和類型(值)之間的區別是什麼?
- 28. couchbase中文檔類型和鍵值類型之間的區別
- 29. 實用工具類和助手類之間的區別
- 30. OOP派生類和繼承類之間的區別?