zoukankan      html  css  js  c++  java
  • 理解 Delphi 的类(十一) 深入类中的方法[6] 类中的方法重载

    //类中的方法重载首先具备前面说过的重载相关的所有特点, 如:
    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;
  • 相关阅读:
    Hadoop开发者第四期
    改进型MapReduce
    MakeDirZ.bat
    Scan Type.txt
    获取当前目录所有文件名.bat
    subst文件夹映射到盘符
    MainApi
    创建dos命令窗口快捷方式的批处理
    Cheat Engine通关教程 (8关).txt
    获取当前目录所有文件名 并且保存为1个00000.txt的文件文件bat
  • 原文地址:https://www.cnblogs.com/del/p/1041824.html
Copyright © 2011-2022 走看看