重写(override)

1,子类写了和父类同名的方法或属性,父类的属性和方法会被重写;

2,私有方法和属性:不能重写,子类同名的属性视为子类私有,子类方法不能与父类同名;

php去重php基本重写和重载 Java

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