理解 Delphi 的类(二) - 初识类的方法


======================================================
注:本文源代码点此下载
======================================================

对类的解释确实写得不错,通俗易懂,让初学者或对类不太清楚的人来讲很有帮助。

对于你例中所举的两个方法,一个是过程,一个是函数,两个都使用了引用传递,这样两个方法的调用其实就一样了。如第一段代码改成:

//调用过程与函数

procedure tform1.button1click(sender: tobject);

var

i: integer;

begin

i := 6;

myproc(i);{使用过程}

showmessage(inttostr(i)); {12}

i := 6;

myfun(i);{使用函数}

showmessage(inttostr(i)); {12}

end;

end.

两者的调用方法是完全一样的,生成的结果也一样,这就不能区分过程和函数之间的区别了。如果将函数定义部分和实现部分括号内的var去掉,这时候就是传值的了,函数的作用就比较明显。如下:

functionmyfun (x: integer): integer;

function myfun( x: integer): integer;

begin

x := x * 2;

result := x;

end;

这样再用到你的第一个例子,函数和过程的意思就更明确了。

一般情况下,为了保证过程或者函数的独立性,尽量不要使用引用传递,推荐使用值传递,如果该实现部分的调用都用值传递相当于将x定义为实现部分的全局变量了,这对设计健壮的代码是有害的。当然在某些情况下使用引用传递更简捷方便有效,如果没有交叉冲突,未偿不可。

回复 引用


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值