1

我认为这是一个愚蠢的问题..但是..当在Delphi中声明另一个类的子类时,孩子们是否直接获得了父母的方法?解释:名为“P”的类是名为“C”的类的父类,“P”类有一个名为“Mth”的方法。是否可以调用'C.Mth'或者我注意到'C'的声明中的某些内容(可能是构造函数?)..

问题与变量相同..

我希望足够清楚..非常感谢您的回复...

4

3 回答 3

7

是的。这称为“继承”。这意味着父类的所有属性都被子类“继承”了。如果您不做任何更改子类中的任何内容(覆盖虚拟、添加字段、添加方法等),那么子类的功能将与父类相同。您可以将子类传递给期望父类的其他函数,因为通过继承,子类共享父类的所有品质。

于 2009-12-15T22:00:53.847 回答
5

子类继承其父类的所有受保护、公共和发布的属性、函数和过程。

它可以直接调用它们,无需任何特殊语法,只要子类没有覆盖它们。

例如:

type
  P = class
  public
    procedure Mth;
  end;

  C = class(P)
  public
    procedure Foo;
  end;

// ... implementation ...

procedure C.Foo;
begin
  Mth; // Calls the P.Mth procedure.
end;
于 2009-12-15T21:59:39.190 回答
0

是的,您可以调用父方法,就好像它们属于子方法一样。这是面向对象层次结构强大功能的一部分。

于 2009-12-15T21:59:57.507 回答