文档章节

方法重载

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 203
阅读 1
收藏 0
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

//有方法重载的类
  TMyClass = class
  public
    procedure MyProc(i: Integer); overload;
    procedure MyProc(s: string); overload;
    function MyProc(s1,s2: string): string; overload;
  end;
//关于方法重载:
//过程和函数之间可以重载
//类内重载必须有 overload 关键字
//子类重载必须有 overload 关键字,夫类可以没有
//如果夫类是虚函数(virtual dynamic),子类重载时需要加 reintroduce 修饰词
//published 区内不能重载

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TMyClass }

procedure TMyClass.MyProc(i: Integer);
begin
  ShowMessage(IntToStr(i));
end;

procedure TMyClass.MyProc(s: string);
begin
  ShowMessage(s);
end;

function TMyClass.MyProc(s1, s2: string): string;
begin
  Result := s1 + ' and ' + s2;
end;

//测试
procedure TForm1.FormCreate(Sender: TObject);
var
  class1: TMyClass;
begin
  class1 := TMyClass.Create;

  class1.MyProc(2);  //2
  class1.MyProc('2');  //2
  ShowMessage(class1.MyProc('2','3'));  //2 and 3

  class1.Free;
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2007/12/05/983733.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
Python面向对象之运算符重载

运算符重载只是意味着在类方法中拦截内置的操作,也就是说当类的实例出现在内置操作中,Python自动调用我们的方法,并且我们的方法的返回值变成了相应操作的结果。 关于重载的关键知识点: ...

bigstone2012
06/08
0
0
Laravel5.2之PHP重载(overloading)

说明:本文主要讲述PHP中重载概念,由于Laravel框架中经常使用这块知识点,并且PHP的重载概念又与其他OOP语言如JAVA中重载概念不一样,故复习并记录相关知识点。同时,作者会将开发过程中的一...

botkenni
2016/10/24
2
0
重写、覆盖、重载、多态几个概念的区别分析

override->重写(=覆盖)、overload->重载、polymorphism -> 多态 override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。 重写(...

大灰狼wow
2014/04/30
0
0
Overloading和Overriding的区别

方法覆盖和方法重载的异同 Overloading 重载 Overriding 重写,又称覆盖 方法覆盖和方法重载具有以下相同点: 都要求方法同名 都可以用于抽象方法和非抽象方法 方法覆盖和方法重载的不同点:...

Zenith-Lee
2014/02/20
0
0
java怎样实现重载一个方法

重载(重新载选方法): java允许在一个类中,存在多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载,编译器会根据实际情况挑选出正确的方法,如果编译器找不到匹...

郑树恒
2015/09/08
128
0

没有更多内容

加载失败,请刷新页面

加载更多

使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
21分钟前
1
0
艺术品区块链溯源防伪平台(连载一)

Netkiller Blockchain 手札 作者正在找工作,联系方式 13113668890 Mr. Neo Chan, 陈景峯(BG7NYT) 中国广东省深圳市望海路半岛城邦三期 518067 +86 13113668890 <netkiller@msn.com> 文档始创...

netkiller-
21分钟前
2
0
0032-如何在CDH启用Kerberos的情况下安装及使用Sentry(二)

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 5.Sentry列权限管理 1.在集群所有节点添加fayson_r用户 [root@ip-172-31-6-148 cdh-shell-bak]# useradd fayson_r[root@i...

Hadoop实操
25分钟前
1
0
Nginx配置中Location的优先级

根据Nginx的官方文档,Location标签一共有四个修饰符,分别是: (1) =:表示完全匹配; (2) ^~:匹配URI的前缀,并且后面的正则表达式不再匹配,如果一个URI同时满足两个规则的话,匹配最长的规...

cloes
昨天
1
0
Xcode 10 Archive 卡死问题

前段时间贪新鲜更新了xcode 10,发现就是自己没事找事后悔啊........ 首先是 libstdc++.6.0.9.tbd 已不被使用,以前的项目是一顿报错!!!一个个改也不是办法还有一些第三方的用到只好把lib...

壹峰
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部