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;
  • 相关阅读:
    Calling a parent window function from an iframe
    JSON with Java
    Posting array of JSON objects to MVC3 action method via jQuery ajax
    What's the difference between jquery.js and jquery.min.js?
    jquery loop on Json data using $.each
    jquery ui tabs详解(中文)
    DataTables warning requested unknown parameter
    Datatables 1.10.x在命名上与1.9.x
    jQuery 1.x and 2.x , which is better?
    DataTabless Add rows
  • 原文地址:https://www.cnblogs.com/del/p/1041824.html
Copyright © 2011-2022 走看看