<?php /*** ====笔记部分==== 重写/覆盖 override 指:子类重写了父类的同名方法 重载: overload 重载是指:存在多个同名方法,但参数类型/个数不同. 传不同的参数,调用不同的方法 但是在PHP中,不允许存在多个同名方法. 因此,不能够完成java,c++中的这种重载 但是,PHP的灵活,能达到类似的效果 ***/ /**** 代码部分 ****/ class human{ public function say($name){ echo $name,' 吃了吗?<br />'; } } class stu extends human{ public function say(){ echo '切克闹,卡猫百比<br />'; } /* public function say($a,$b,$c){ echo '哥仨好'; } 报错: Fatal error: Cannot redeclare stu::say() in D:\wamp\www\php\61.php on line 28 在PHP中,不允许存在多个同名方法,没有重载不能和java,c++一样概念这一说。 */ } $li=new stu(); $li->say(); $li->say('binghui');// 上面这个过程叫重写override! java中有 /* 结果: 切克闹,卡猫百比 切克闹,卡猫百比 */ //在PHP中模拟重载的方法 class Calc { public function area() { // 判断一个调用area时,得到的参数个数 $args = func_get_args(); if(count($args) == 1) { return 3.14 * $args[0] * $args[0]; } else if(count($args) == 2) { return $args[0] * $args[1]; } else { return '未知图形'; } } } $calc = new Calc(); // 计算圆的页面 echo $calc->area(10),'<br />'; // 计算矩形的面积 echo $calc->area(5,8); ?>
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦