文档章节

理解 Delphi 的类(十) - 深入方法[23] - 重载

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 262
阅读 1
收藏 0
{
  下面的函数重名, 但参数不一样, 此类情况必须加 overload 指示字;
  调用时, 会根据参数的类型和个数来决定调用哪一个;
  这就是重载.
}

function MyFun(s: string): string; overload;
begin
  Result := '参数是一个字符串: ' + s;
end;

function MyFun(i: Integer): string; overload;
begin
  Result := '参数是一个整数: ' + IntToStr(i);
end;

function MyFun(x,y: Integer): string; overload;
begin
  Result := Format('参数是两个整数: %d 和 %d', [x,y]);
end;


{测试}
procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
begin
  str := MyFun('万一');
  ShowMessage(str);     {参数是一个字符串: 万一}

  str := MyFun(99);
  ShowMessage(str);     {参数是一个整数: 99}

  str := MyFun(6,8);
  ShowMessage(str);     {参数是两个整数: 6 和 8}
end;

 
 
 
 
 

 

 

  
//另外还要注意关于重载和默认参数的问题, 譬如, 下面的重载是不可行的: function MyFun(x,y: Integer): string; overload; begin Result := IntToStr(x + y); end; function MyFun(x: Integer; y: Integer = 1): string; overload; begin Result := IntToStr(x + y); end; {因为当我们这样调用时: MyFun(a,b); 系统就不知道要调用哪个了!}

本文转载自:http://www.cnblogs.com/del/archive/2008/01/15/1039045.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
Delphi 使用 Duilib 库--Duilib for Delphi

导读 什么是Duilib for Delphi? Duilib for Delphi是一个基于C++Duilib的开源工程,主要致力于在Delphi中使用Duilib库构建漂亮的UI。 怎么学习?首先对Duilib有基本的了解,特别是XML构建的U...

不在乎y
2015/11/30
1K
0
Groovy 中的funtion 和 Closure

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Allocator/article/details/84860885 文章目录 背景 使用gradle 构建的项目中会使用groovy语言来完成项目构建...

Allocator
2018/12/10
0
0
Delphi 面向对象编程 第二章

类的声明是一种类型声明,在delphi中,类被当作一个类型来声明,语法为: type classname = class (baseclass) {field } {procedure and function } {property } end; 注意:1、类的声明可以...

CODER-SU
2011/12/20
0
1
最基础的数据结构-左轻侯

作者:左轻侯 创建时间:2007-03-04 22:29:06 最后修改时间:2008-01-18 22:07:52 本文发表于《程序员》2007年第3期      最基础的数据结构   左轻侯   2007.2.3      引言   ...

一配
2015/10/16
28
0
深入理解多态(磨砺营马剑威java)

【威哥说】王健林一句话,刷爆了朋友圈。“先定一个能达到的小目标,比方说我先挣它一个亿”。好吧,也许我们没有那样的霸气,至少我们可以实现这样“先定一个能达到的小目标,比方说学会多态...

磨砺营
2016/08/30
5
0

没有更多内容

加载失败,请刷新页面

加载更多

百度黄埔学院将培养一批首席AI架构师,为“国之重器”赋能

深度学习高端人才不仅是AI发展的重要养分,也是企业转型AI巨大推动力。2019年1月19日,百度黄埔学院——深度学习架构师培养计划在百度科技园举行开学典礼,深度学习技术及应用国家工程实验室...

深度学习之桨
32分钟前
2
0
扒站wget仿站

wget -c -r -p -np -k http://xxx.com/xxx 其中: -c, --continue (断点续传) 接着下载没下载完的文件 -r, --recursive(递归) specify recursive download.(指定递归下载) -p, --page...

临江仙卜算子
34分钟前
2
0
Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
今天
0
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
3
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部