2012-10-24 159 views

回答

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 

見下面的輸出:

  1. C.f1

A - > C.f1稱爲

  • C.f3
  • Ç - > C.f3稱爲

    乙 - > A :: B.f2稱爲

    相關問題