理解 Delphi 的类(十一) - 深入类中的方法[2] - 关于覆盖与重定义
2008-01-16 13:14
716 查看
//标准的覆盖是这样的 TBass = class procedure Proc; virtual; {或用 dynamic} end; TChild = class(TBass) procedure Proc; override; end; //以下几种情况属于重定义, 其中例 3-5 还会有编译提示 {例1} TBass = class procedure Proc; end; TChild = class(TBass) procedure Proc; end; {例2} TBass = class procedure Proc; end; TChild = class(TBass) procedure Proc; virtual; end; {例3} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; virtual; end; {例4} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; end; {例5} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; dynamic; end; {上面这五种情况我们尽量不要使用} //方法重定义时, 避免编译提示的办法 {办法1: 使用 reintroduce 指示字} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; reintroduce; end; {办法2: 使用编译器指令} TBass = class procedure Proc; virtual; end; {$WARNINGS OFF} TChild = class(TBass) procedure Proc; virtual; end; {$WARNINGS ON}
相关文章推荐
- 理解 Delphi 的类(十一) - 深入类中的方法[9] - 不能被覆盖的方法与不能被继承的类
- 理解 Delphi 的类(十一) - 深入类中的方法[7] - 关于 inherited
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十一) - 深入类中的方法[5] - 静态方法、类方法、静态类方法
- 理解 Delphi 的类(十一) - 深入类中的方法[1] - 虚方法与动态方法
- 理解 Delphi 的类(十一) - 深入类中的方法[3] - 方法在实现时的参数省略
- 理解 Delphi 的类(十一) - 深入类中的方法[1] - 虚方法与动态方法
- 理解 Delphi 的类(十一) - 深入类中的方法[4] - 访问限制(或者叫可见性)
- 理解 Delphi 的类(十一) - 深入类中的方法[12] - 消息方法
- 理解 Delphi 的类(十一) - 深入类中的方法[10] - 构造方法与析构方法
- 理解 Delphi 的类(十一) - 深入类中的方法[6] - 类中的方法重载
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十一) - 深入类中的方法[11] - 事件方法
- [转]理解 Delphi 的类(十一) - 深入类中的方法[10] - 构造方法与析构方法
- 理解 Delphi 的类(十一) - 深入类中的方法[13] - 方法的调用约定
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十) - 深入方法[1] - 定义
- 理解 Delphi 的类(八) - 关于类的定义
- 理解 Delphi 的类(十) - 深入方法[5] - Result 与函数名
- 理解 Delphi 的类(十) - 深入方法[13] - 在 interface 区声明的方法