Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 德尔福儿童班_Delphi_Parent Child - Fatal编程技术网

Delphi 德尔福儿童班

Delphi 德尔福儿童班,delphi,parent-child,Delphi,Parent Child,我想这是个愚蠢的问题……但是。。在Delphi中声明另一个类的子类时,子类是否直接获取父类方法? 说明: 名为“P”的类是名为“C”的类的父类,“P”类有一个名为“Mth”的方法。 是否可以调用“C.Mth”,或者我是否注意到“C”声明中的某些内容(可能是构造函数?) 变量的问题也是一样 我希望说得够清楚。。非常感谢您的回复 子类继承其父类的所有受保护的、公共的和已发布的属性、函数和过程 它可以直接调用它们,而无需任何特殊语法,前提是子类没有覆盖它们 例如: type P = class

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

变量的问题也是一样


我希望说得够清楚。。非常感谢您的回复

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

它可以直接调用它们,而无需任何特殊语法,前提是子类没有覆盖它们

例如:

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;

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

它可以直接调用它们,而无需任何特殊语法,前提是子类没有覆盖它们

例如:

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;

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

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

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

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

当您尝试它时,它不是这样工作的吗?如果有人可以从答案中受益,这不是一个愚蠢的问题:-)只是不要与Delphi控件中的“父”属性混淆。我更喜欢使用基类和派生类。当您尝试它时,它不是这样工作的吗?如果有人能从答案中受益,这不是一个愚蠢的问题:-)只是不要与Delphi控件中的“Parent”属性混淆。我更喜欢使用基类和派生类。+1加上继承的方法和字段只有在未声明为私有时才能访问。+1加上继承的方法和字段只有在未声明为私有时才能访问。