在Delphi中,inherited关键字用于调用父类或基类的成员。
详细解释如下:
一、基本用法
在Delphi面向对象编程中,当我们创建一个类时,通常会从现有类继承属性、方法和事件。这种继承机制允许我们在现有类的基础上添加或重写功能,而不是从头开始创建所有内容。在这种情况下,`inherited`关键字用于在子类中调用从父类继承的成员。这可以确保继承的代码得以保留并可以在子类中进一步扩展或修改。
二、在方法中的使用
在子类的方法中,我们可以使用`inherited`关键字来调用父类中相同名称的方法或属性。这常常用于避免重写父类的关键逻辑,同时允许我们在子类中增加额外的操作或逻辑。例如:
delphi
procedure TChildClass.SomeMethod;
begin
// 子类中的特定操作
// ...
// 调用父类的相同方法
inherited SomeMethod; // 这里调用的是父类的SomeMethod方法
// 子类中的其他操作
// ...
end;
在这个例子中,`inherited SomeMethod;`确保了父类中`SomeMethod`的实现被调用,允许子类扩展或修改其功能。
三、在属性中的使用
除了在方法中使用外,`inherited`关键字还可以用于访问继承的属性。如果子类中定义了与父类相同的属性,并且想要访问父类的属性而不是子类的属性时,可以使用`inherited`关键字明确指定。这在属性读写器中尤其有用。例如:
delphi
property TChildClass.SomeProperty: TSomeType read inherited SomeProperty; // 指定读取父类的属性实现。write可以通过这种方式自定义以添加逻辑但不重写整个属性实现。可以加上额外操作以增强对属性行为的控制或作为触发器之类的工作使用场景的工具手段来使用。这种方式确保了属性的核心逻辑继承自父类而同时提供了扩展能力。在复杂的对象层次结构中尤其有用,因为可以在不破坏现有代码的情况下添加新的功能或行为。同时,使用 `inherited`关键字有助于保持代码的可读性和可维护性,因为它清晰地表明了代码是从父类中继承而来的。通过这种方式,开发者可以更加灵活地利用面向对象编程的优势来构建复杂且健壮的应用程序。在使用 `inherited`关键字时,必须确保继承层次结构是正确的并且理解如何正确地使用它以避免潜在的问题。通过使用这个强大的关键字开发者能够在继承和封装的基础框架之上构造应用程序或者项目框架,从而极大地提高了开发效率和代码质量。
delphi中inherited的详细用法。。
除了在方法中使用外,`inherited`关键字还可以用于访问继承的属性。如果子类中定义了与父类相同的属性,并且想要访问父类的属性而不是子类的属性时,可以使用`inherited`关键字明确指定。这在属性读写器中尤其有用。例如:delphi property TChildClass.SomeProperty: TSomeType read inherited SomeProperty; ...
Delphi中inherited的详细用法。。
Delphi中的'inherited'关键字是一个强大工具,它允许子类调用并扩展其祖先类的成员函数。当你在子类中使用'inherited'时,实际上是让子类的函数在执行时默认调用相应于该名称的祖先类函数。如果函数没有参数,就像祖先类的函数Create(AName:string)一样,那么子类直接使用'inherited Create(AName)'调用即可...
Delphi中inherited的详细用法。。
inherited就是调用祖先类的函数,如果不带参数就是默认调用同名函数 如果带参数则表明子类中的函数个数可能比祖先类要多取其中的几个参数传过去 例如 祖先类有个函数 Create(AName:string);子类有个函数 Create(AName:string;AComponent:TObject);override;那么子类的Create函数内就可以这样调用祖先类:p...
delphi中inherited是怎么用的阿
\/\/ 当调用b的AddCount时,会先执行inherited;就是调用父类同名(被重写)过程,\/\/ 此时,Count为20,然后再执行第二句Count := Count + 100;\/\/ 此时Count为120。如果TB.AddCount的函过程里没有inherited;就不会执行父类的同名过程, 那么最终Count的值为100。end;
delphi中关键字inherited的理解
这段话已经能够说的很清楚了啊。如果有同名同参数的父类方法,单独用inherited;就是继承父类的同名同参数方法。如果inherited XXX(..), 说明父类有了同名的重载方法,你指定继承其中的一个方法。
delphi中inherited是怎么用的阿
继承一个类的,并覆盖了类成员的虚方法,在这个方法里面用 Inherited来调用父类的同名方法。
delphi 中双击TButton控件时自动生成一个inherited
你的窗体继承了另一个窗体, 就会是这种情况 inherited用法 procedure button1.onclick(sender..);begin inherited;end;有了inherited就会执行父窗体中button1.onclick(sender..);方法的代码了
delphi调用父类同名函数返回值
您要问的是怎么用delphi调用父类同名函数返回值吗?有以下办法。1、首先在子类中使用“inherited”关键字。2、其次在关键字中调用父类中的GetResult函数。3、最后将其返回值赋值给Result变量即可。
delphi关于inherited的问题
这一句 只是 继承父类的方法,也就是说你的程序 大量运用了继承,这没什么。
delphi 中 inherited 为什么在程序块一开始就调用了?
inherited Create(AOwner); 和直接写inherited有区别吗 有区别,inherited Create是指定调用父类的Create方法,当然你也可以inherited Destory等等,如果直接写inherited则默认以本方法名在父类中调用