请问,DELPHI 中子类该如何调用父类方法?

如题所述

第1个回答  2014-09-29
类方法调用
inherited(继承):就是调用父类的函数。如果不带参数就是默认调用父类的同名函数;如果带参数则表明子类中的函数的参数个数可能比祖先类要多取其中的几个参数传过去
例如
[delphi] view plaincopy
祖先类有个函数 Create(AName:string);
子类有个函数 Create(AName:string;AComponent:TObject);override;
那么子类的Create函数内就可以这样调用祖先类:
procedure TAClass.Create(AName:string;AComponent:TObject);
begin
Inherited Create(AName);
end;追问

这是父类的方法

这是子类的方法

这是子类方法说明

想在子类中调用父类的方法,请问怎么做?

本回答被网友采纳

delphi中inherited的详细用法。。
在子类的方法中,我们可以使用`inherited`关键字来调用父类中相同名称的方法或属性。这常常用于避免重写父类的关键逻辑,同时允许我们在子类中增加额外的操作或逻辑。例如:delphi procedure TChildClass.SomeMethod;begin \/\/ 子类中的特定操作 \/\/ ...\/\/ 调用父类的相同方法 inherited SomeMethod; \/\/ 这...

Python中子类怎样调用父类方法
调用父类函数有以下方法:class A:def method(self, arg):pass class B(A):def method(self, arg):# A.method(self,arg) # 1# super(B, self).method(arg) #2super().method(arg) #31.直接写类名调用2.用super(type,obj).method(arg)方法调用。3.在类定义中调用本类...

多态中子类为什么能够调用父类的私有方法
a的类型是A当然能调用自己的方法。之所以没有调用B的m1是因为A中m1是private的B并没有继承这个方法。如果你A中的方法m1是public修饰的,那么B就是重写了m1这个方法,调用是就调用B中的m1方法。但是A中m1是private修饰的,B中这个m1不属于重写A中的m1。而a的类型是A类型,所以调用A中的m1方法。

Python中子类怎样调用父类方法
如上有注释的一行解决了该问题,直接使用父类名称调用其构造函数即可。这种方法叫做调用父类的未绑定的构造方法。在调用一个实例的方法时,该方法的self参数会被自动绑定到实例上(称为绑定方法)。但如果直接调用类的方法(比如A.__init),那么就没有实例会被绑定。这样就可以自由的提供需要的self参数...

在java中子类若要继承父类,需要使用的关键字是什么
关键字是extends,语法结构:[修饰符] class <子类类名> <父类类名>{ ···\/\/类体定义 } super 是用来指明调用的是父类方法或指明操作的是父类的属性,而不是被子类覆盖的成员方法或被子类隐藏的属性。this代表的是当前对象自身。接口的定义的关键字是interface。实现的关键字是implements ...

java中子类自动继承父类的无参构造方法吗?
首先子类中的方法必须调用父类的构造方法,如果父类中只有一个有参的构造方法,你在子类的构造方法必须调用,而且是子类的构造方法第一句话必须是调用父类的有参构造方法,否则编译器会提示错误的。如果父类中有无参的构造方法,你没有写的话会自动调用的 ...

Delphi中 override和overload有什么区别
1.方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对...

python中子类对父类初始化变量的赋值
1、使用self.x = x这样来添加变量 2、对于父类的初始化参数,如果不写,默认就使用父类无参的__init__方法 3、子类初始化父类参数B.__init__(self,aa,ab)4、使用super(子类类型,子类对象).foo()调用父类方法

Java中子类会不会继承父类对于接口的实现
而且子类生成一个对象,如果是父类类型的,那么只能调用父类的方法和子类重写父类的方法;如果是接口类型的,那么只能调用重写接口的那个方法(也就是父类的重写接口的方法)。因此,实际上子类是间接实现了这个接口。希望对大家有帮助,因为我自己遇到这样的问题,呵呵。。。

python中子类对父类初始化变量怎么赋值?
1、使用self.x = x这样来添加变量 2、对于父类的初始化参数,如果不写,默认就使用父类无参的__init__方法 3、子类初始化父类参数B.__init__(self,aa,ab)4、使用super(子类类型,子类对象).foo()调用父类方法

相似回答