PHP面向对象之方法的重写or重载
<?php/***====笔记部分====重写/覆盖override指:子类重写了父类的同名方法重载:overload重载是指:存在多个同名方法,但参数类型/个数不同.传不同的参数,调用不同的方法但是在PHP中,不允许存在多个同名方法.因此,不能够完成java,c++中的这种重载但是,PHP的灵活,能达到类似的效果***//****代码部分****/classhuman{publicfunctionsay($name){echo$name,'吃了吗?<br/>';}}classstuextendshuman{publicfunctionsay(){echo'切克闹,卡猫百比<br/>';}/*publicfunctionsay($a,$b,$c){echo'哥仨好';}报错:Fatalerror:Cannotredeclarestu::say()inD:\wamp\www\php\61.phponline28在PHP中,不允许存在多个同名方法,没有重载不能和java,c++一样概念这一说。*/}$li=newstu();$li->say();$li->say('binghui');//上面这个过程叫重写override!java中有/*结果:切克闹,卡猫百比切克闹,卡猫百比*///在PHP中模拟重载的方法classCalc{publicfunctionarea(){//判断一个调用area时,得到的参数个数$args=func_get_args();if(count($args)==1){return3.14*$args[0]*$args[0];}elseif(count($args)==2){return$args[0]*$args[1];}else{return'未知图形';}}}$calc=newCalc();//计算圆的页面echo$calc->area(10),'<br/>';//计算矩形的面积echo$calc->area(5,8);?>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。