重写(override)
1,子类写了和父类同名的方法或属性,父类的属性和方法会被重写;
2,私有方法和属性:不能重写,子类同名的属性视为子类私有,子类方法不能与父类同名;
3,重写哀求:子类访问掌握权要大于父类,子类方法参数与父类参数同等。
4,布局方法重写参数可以不一致
重载(overload)
java中,存在多个同名方法,通过参数类型,个数不同,传参不同,调用不同的方法;
php方法不能同名,因此不能重载。但是php可以通过 func_get_args()达到重载的效果。
例子:
calss haha{
public function area(){
//判断一个调用area时,得到的参数个数
$args = func_get_args();
if(count($args) == 1 ){
return “个数唯一”;
}else if( count($args) == 2 ){
return “个数为二”;
}
}
}
$haha = new haha();
echo $haha->area(100,200) ;//个数为2