文档章节

方法重载

涂孟超
 涂孟超
发布于 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
2018/06/08
0
0
Overloading和Overriding的区别

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

Zenith-Lee
2014/02/20
0
0
Laravel5.2之PHP重载(overloading)

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

botkenni
2016/10/24
2
0
php 魔术方法 重载

重载 属性重载与方法重载 PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法。我们是通过魔术方法(magic methods)来实现的。 当调用当前环境下未定义或不可见的类属性或方法时...

蛋定龙
2015/10/16
53
0
C++重载操作符

什么叫重载操作符?这要先说什么是操作符,其实最简单的:+、-、*、/、<

Cloudox_
2017/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IDE 插件新版本发布,开发效率 “biu” 起来了

近日,Cloud Toolkit正式推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,本文挑选了其中三个重大特性进行解读,点击文末官网跳转链接,可查看详细的版本说明。 本地应用一键部署到任何...

阿里云官方博客
26分钟前
1
0
我是怎样和Linux系统结缘并通过红帽RHCE认证的

我高考完当时就是选择的计算机科学与技术专业,上大学以后联想到的和计算机相关的就只有写代码,开发,网站,网页设计,就没有其他的了,当时学习写代码也都是在Windows上,什么C#、C++之类的...

linuxprobe16
27分钟前
0
0
Coding and Paper Letter(四十四)

资源整理。 1 Coding: 1.Rstudio2019年会“机器学习应用”的幻灯片,代码和数据 rstudio conf 2019 2.R语言包sparkxgb,Spark上XGBoost的R接口。 sparkxgb 3.自动SQL注入和数据库接管工具。 ...

胖胖雕
59分钟前
3
0
Ubuntu最新的主要操作系统放弃32位支持?

现在是2018年,2019年即将到来——64位处理器已经成为主流很长一段时间了。如果你仍然使用32位的电脑,那么是时候把它扔进垃圾箱了。 我为所有基于Linux的操作系统维护者感到自豪,他们有勇气...

Linux就该这么学
今天
2
0
Fundebug发布Vue插件,简化BUG监控接入代码

摘要: 代码越短越好! 我们发布了fundebug-vue插件,可以简化Vue框架接入Fundebug的代码。 Vue如何接入Fundebug 1. 安装fundebug-javascript与fundebug-vue npm install fundebug-javascrip...

Fundebug
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部