首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果没有显式调用,Delphi调用是否在重写过程上继承

在Delphi中,如果没有显式调用,Delphi调用是否在重写过程上继承。

在Delphi中,重写(override)是一种面向对象编程的概念,允许子类重新实现父类的方法。如果没有显式调用重写方法,Delphi会自动调用父类的方法。

例如,假设我们有一个父类TParent和一个子类TChild,它们都有一个名为DoSomething的方法。在TChild中,我们重写了DoSomething方法,但是在TChild的实现中没有显式调用inherited关键字。

代码语言:delphi
复制
type
  TParent = class
  public
    procedure DoSomething; virtual;
  end;

  TChild = class(TParent)
  public
    procedure DoSomething; override;
  end;

procedure TParent.DoSomething;
begin
  // 父类的实现
end;

procedure TChild.DoSomething;
begin
  // 子类的实现
end;

在这种情况下,如果我们创建一个TChild对象并调用DoSomething方法,Delphi会自动调用父类的DoSomething方法,因为我们没有显式调用inherited关键字。

代码语言:delphi
复制
var
  Child: TChild;
begin
  Child := TChild.Create;
  try
    Child.DoSomething; // 调用父类的DoSomething方法
  finally
    Child.Free;
  end;
end;

因此,如果没有显式调用,Delphi调用是否在重写过程上继承,答案是:是的,Delphi会自动调用父类的方法,除非显式调用inherited关键字。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券