2012-10-24 190 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称为