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

PHP程序设计基础(微课版)(第2版)课件 8.PHP重载与重载方法.pptx

PHP程序设计基础(微课版)(第2版)课件 8.PHP重载与重载方法.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PHP重载与重载方法陈学平

13PHP重载0114PHP重载方法02目录

0113PHP重载

13.1PHP重载一个类中的方法与另一个方法同名,但是参数不同,这种方法称之为重载方法。

因为PHP是弱类型的语言,所以在方法的参数中本身就可以接收不同类型的数据,又因为PHP的方法可以接收不定个数的参数,所以在PHP里面没有严格意义上的方法重载。

PHP中的重载是指在子类里面定义了一个和父类同名的方法,且该方法将在子类中将把父类的方法覆盖。

在子类中,因为从父类继承过来的方法可能无法访问子类定义的属性或方法,所以有时候重载是必要的。

13.1PHP重载实例12PHP的重载实例代码如下:1classPerson{2var$name;3var$age;4functionsay(){5echo我的名字叫:.$this-name.br/;6echo我的年龄是:.$this-age;7}8}9?php10

13.1PHP重载实例12PHP的重载//类的继承1var$school;//学生所在学校的属性2functionsay(){3echo我的名字叫:.$this-name.br/;4echo我的年龄是:.$this-age.br/;5echo我正在.$this-school.学习;6}7}8$t1=newStudent();9classStudentextendsPerson{10

13.1PHP重载实例12PHP的重载$t1-name=张三;

$t1-age=18;

$t1-school=人民大学;

$t1-say();

?

运行该实例,输出:

我的名子叫:张三

我的年龄是:18

我正在人民大学学习

提示

如果父类定义方法时使用了final关键字,则不允许被子类方法覆盖。

13.2访问父类被覆盖的方法可以通过::符号来访问父类被覆盖的方法或成员属性。语法如下:functionsay(){parent::say();//或者Person::say();echo我在.$this-school.上学br/;}范围解析操作符::用法可以查看前面的相关介绍。

0214PHP重载方法

14PHP重载方法__call()方法用于监视错误的方法调用。

为了避免当调用的方法不存在时产生错误,可以使用__call()方法来避免。该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。

语法如下:

function__call(string$function_name,array$arguments)

{

......

}

14PHP重载方法该方法有两个参数,第一个参数$function_name会自动接收不存在的方法名,第二个$args则以数组的方式接收不存在方法的多个参数。

在类里面加入:

function__call($function_name,$args)

{

echo你所调用的函数:$function_name(参数:br/;

var_dump($args);

echo)不存在!;

}

当调用一个不存在的方法时(如test()方法):

14PHP重载方法$p1=newPerson();$p1-test(2,test);输出的结果如下:你所调用的函数:test(参数:array(2){????[0]=int(2)????[1]=string(4)test})不存在!?

谢谢

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档