重写/覆盖
override
指:子类重写了父类的同名方法
class Human{
}
class Stu extends Human{
}
$ming=new Stu();
$ming->say(); //输出
切克闹,卡猫百比
$ming->say('张三'); //
输出 切克闹,卡猫百比
如上这个过程 叫重写 override
重载
overload
重载是指:存在多个同名方法,但参数类型或个参数个数不同。达到重载传不同的参数,调用不同的方法。
但是在php中,不允许存在多个同名方法
因此,不能够完成java,c++中的这种重载
但是,php的灵活性,能达到类似的效果。
看如下: 通过
func_get_args函数达到重载的效果
class Calc{
}
$calc=new Calc();
// 计算圆面积
echo $calc->area(10);
//输出 314
//计算矩形的面积
echo $calc->area(5,8);
//输出 40