22、Object Pascal 中的继承与多态编程

Object Pascal 中的继承与多态编程

1. 继承与构造函数

在编程中,继承是一个重要的概念。在 Object Pascal 里, inherited 关键字可用于在派生类的方法中调用同名方法或不同方法,构造函数也不例外。与 C++、C# 或 Java 不同,在 Object Pascal 中调用基类构造函数并非强制要求,但在大多数情况下,手动调用基类构造函数非常重要。

例如,对于组件类,组件的初始化实际上是在 TComponent 类级别完成的:

constructor TMyComponent.Create (Owner: TComponent);
begin
  inherited Create (Owner);
  // specific code...
end;

因为对于组件而言, Create 是一个虚方法,同样,所有类的 Destroy 析构函数也是虚方法,在其中应记得调用 inherited

如果创建的类仅继承自 TObject ,在其构造函数中是否需要调用基类的 TObject.Create 构造函数呢?从技术角度看,答案是否定的,因为该构造函数为空。不过,养成始终调用基类构造函数的习惯是个不错的选择,尽管这可能会使代码稍微变慢,但影响微乎其微。

2. 虚方法与动态方法

在 Obje

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值