网站大量收购独家精品文档,联系QQ:2885784924

Delphi程序设计及实验指导(第二版) 张景安 第2章 面向对象的Pascal新.ppt

Delphi程序设计及实验指导(第二版) 张景安 第2章 面向对象的Pascal新.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.5 函数和过程 可以为过程和函数的参数指定默认值。指定默认值的方法是在参数定义后紧跟一个等号“=”,再跟一个常量。指定默认值的参数要放在参数列表的后面部分,没有指定默认值的参数放在参数列表的前面部分。在函数调用时,如果给设置了默认值的参数指定一个新值,则在函数体中,各语句便使用新值;如果没有指定新值,则使用默认值。同样,如果存在多个设置了默认值的参数,只有前面的参数指定了新值,后面的参数才可以指定新值。 例如:若有函数声明function Max (a,b:Real;c:Real=0.0):Real;此声明中有3个形参,其中参数c指定默认值为0.0。可用m:=Max(-2.3, 1.4)来调用函数Max,其中-2.3、1.4是实参,而参数c使用默认参数值。 在Object Pascal中,最常用的参数有数值参数、变量参数和常量参数3种。 2.5 函数和过程 2.数值参数、变量参数和常量参数 (1)数值参数 在调用函数或过程时,数值参数在运行过程中只改变其形参的值,不改变其实参的值,即形参不会影响原来实参的值。试看下面的过程: procedure Calculate(n:Integer); begin n:=n*10; end; 调用过程Calculate: number:=10; Calculate(number); number进入Calculate过程后,会把number实参的值传给形参n,在此过程中n增加十倍,number值并未改变,即n,number的值分别为100,10。实参的值并不发生变化。 2.5 函数和过程 (2)变量参数 如果用户想改变传递的参数值,就需要使用变量参数,即在被调用程序的参数表中的形参前加上保留字var。例如: procedure Calculate(var n:Integer); begin n:=n*10; end; 调用过程Calculate: number:=10; Calculate(number); number进入Calculate过程后,会把number实参的值传给形参n,在过程中n增大十倍的同时number也增大十倍,即n,number的值都为100。当一个变量参数被传递时,任何对形参所做的改变都会影响实参。 2.5 函数和过程 (3)常量参数 如果当过程或函数执行时要求不改变形参的值,最保险的办法是使用常量参数。在参数表的参数名称前加上保留字const可以使一个形参成为常量参数。使用常量参数代替数值参数可以保护用户的参数,使用户在不想改变参数值时不会意外地将新的值赋给这个参数。 例如: function Add(const x,y:Integer):Integer; begin x:=x+y; //非法操作,不允许改变x的值 end; 2.5 函数和过程 2.5.4 作用域 在Object Pascal中,根据变量的作用域,可将变量分为全局变量和局部变量。全局变量是在单元文件的type区声明的变量,局部变量是在函数和过程的定义部分声明的变量。这里所谓的全局和局部涉及到一个概念,即作用域。 所谓变量的作用域,是指变量的有效范围。全局变量在整个程序中都有效,其作用域为整个程序;局部变量只在声明它的函数和过程中有效,其作用域只限于该函数或过程本身。在程序中如果全局变量和局部变量同名,那么在函数和过程中局部变量起作用,在其他地方全局变量起作用。 2.5 函数和过程 例如: type var Form1: TForm1; //全局变量Form1 implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var m,n:Integer; //局部变量m,n Form1:TForm1; (*局部变量Form1,与上面的全局变量同名,在过程TForm1.FormCreate中局部变量起作用。*) 2.5 函数和过程 2.5.5 函数和过程的调用 在调用函数或过程时,要求实参与对应的形参要有一致的数据类型和次序。但是函数的调用与过程的调用有明显不同:函数仅是希望得到函数返回的值;过程一般只进行操作,没有返回结果。 函数能用在赋值、比较、算术表达式中,函数也可看作是由传递给它的参数决定的变量。而过程不能用在赋值、比较、算术运算表达式中。 2.5 函数和过程 1.函数和过程的调用 (1)函数的调用 函数调用的一般形式为: 函数名([实参表]) 函数的调用往往是将返回值赋给某个变量或参与运算。例如调用例2-10的Max函数,将其返回值赋给变量x的语句为: x:=Max(3,6); (2)过程调用 过程调用的一般形式为: 过程名

您可能关注的文档

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档