- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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})不存在!?
谢谢
您可能关注的文档
- PHP程序设计基础(微课版)(第2版)课件 2.PHP用户注册实现.pptx
- PHP程序设计基础(微课版)(第2版)课件 2.PHP正则表达式匹配函数.pptx
- PHP程序设计基础(微课版)(第2版)课件 2.PHP自定义函数使用示例.pptx
- PHP程序设计基础(微课版)(第2版)课件 3.PHP 会话用户登录实例.pptx
- PHP程序设计基础(微课版)(第2版)课件 3.PHP变量定义赋值和作用域.pptx
- PHP程序设计基础(微课版)(第2版)课件 3.PHP检测函数.pptx
- PHP程序设计基础(微课版)(第2版)课件 3.PHP留言读取并显示.pptx
- PHP程序设计基础(微课版)(第2版)课件 3.PHP数组的遍历二.pptx
- PHP程序设计基础(微课版)(第2版)课件 3.PHP用户登录、退出及用户中心.pptx
- PHP程序设计基础(微课版)(第2版)课件 3.PHP正则表达式替换与分割函数.pptx
文档评论(0)