理解 Delphi 的类(十一) - 深入类中的方法[6] - 类中的方法重载
2008-01-16 19:53
656 查看
//类中的方法重载首先具备前面说过的重载相关的所有特点, 如: TMyClass = class(TObject) function Fun(s: string): string; overload; function Fun(i: Integer): Integer; overload; function Fun(x,y: Integer): string; overload; end; //但如果是重载父类中的方法, 如果父类中被重载的方法在本类中没有重载的话, 可以省略 overload 指示字 TBass = class(TObject) function Fun(s: string): string; {这里省略了 overload, 当然也可以不省略} end; TChild = class(TBass) function Fun(i: Integer): Integer; overload; end; {这个很好理解, 父类并不知道哪个子类要重载它的哪个方法} //published 区中的方法命名要有唯一性, 该区域中的方法不能重载! {这样是不可以的} TMyClass = class(TObject) published function Fun(s: string): string; overload; function Fun(i: Integer): Integer; overload; end; //这就有一个问题: 公共区域, 在默认情况下是归属于 published 区的, 为什么公共区域的函数可以重载? { 编译器会把公共区域中的重载函数自动归类到 public 区, 也可能会给 published 区一个; 这是我猜的, 没有资料可以参考. 关于这个问题, 我又搞了一个实验: } //在自动生成的 TForm1 类的公共区域添加重载方法: type TForm1 = class(TForm) procedure alert(s: string); overload; {No.1} procedure alert(s1,s2: string); overload; {No.2} private { Private declarations } public { Public declarations } end; //执行编译后, 只会留下第一个: type TForm1 = class(TForm) procedure alert(s: string); overload; {No.1} private { Private declarations } public { Public declarations } end;
相关文章推荐
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十一) - 深入类中的方法[1] - 虚方法与动态方法
- 理解 Delphi 的类(十一) - 深入类中的方法[10] - 构造方法与析构方法
- 理解 Delphi 的类(十一) - 深入类中的方法[11] - 事件方法
- 理解 Delphi 的类(十一) - 深入类中的方法[1] - 虚方法与动态方法
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- [转]理解 Delphi 的类(十一) - 深入类中的方法[10] - 构造方法与析构方法
- 理解 Delphi 的类(十一) - 深入类中的方法[2] - 关于覆盖与重定义
- 理解 Delphi 的类(十一) - 深入类中的方法[5] - 静态方法、类方法、静态类方法
- 理解 Delphi 的类(十一) - 深入类中的方法[7] - 关于 inherited
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十一) - 深入类中的方法[9] - 不能被覆盖的方法与不能被继承的类
- 理解 Delphi 的类(十一) - 深入类中的方法[3] - 方法在实现时的参数省略
- 理解 Delphi 的类(十一) - 深入类中的方法[4] - 访问限制(或者叫可见性)
- 理解 Delphi 的类(十一) - 深入类中的方法[12] - 消息方法
- 理解 Delphi 的类(十一) - 深入类中的方法[13] - 方法的调用约定
- 理解 Delphi 的类(十) - 深入方法[23] - 重载
- 理解 Delphi 的类(十) - 深入方法[8] - 如果忘了返回值
- 理解 Delphi 的类(十) - 深入方法[16] - 方法的顺序
- 理解 Delphi 的类(十) - 深入方法[26] - 回调函数