Delphi 面向对象编程思想读书笔记

通过覆盖一个方法可以实现OOP的多态性的概念。通过覆盖方法可以在不同的实现类中有不同的行为。Delphi中能够被覆盖的方法限定为Virtual和Dynamic的方法。为了覆盖一个方法,在派生类中用Override代替上面的标识符。

注意:在声明方法的时候,如果派生类中的方法名没有带Override,但是名称和父类的相同。这个时候派生类中方法和父类中的这个方法都同时存在,没有覆盖父类的方法。

例子如下:

Type

    T1 = class

     procedure AB; Virtual;

end;

T2 = class(T1)

     procedure AB;

end;

Var

  Some1: T1;

  Some2: T2;

begin

  Some1 := T2.Create;

  Some1.AB;  调用的是父类T1的方法。

 Some2 := T2.Create;

  Some1.AB;  调用的是子类T23的方法。

 

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值