上一篇: 继承的概念
下一篇: 继承-final关键字
在继承关系中,子类会自动继承父类中的定义的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写。需要注意的是,在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数
案例
<?php
class animal{
public function shout(){
echo "动物发出叫声<br>";
}
}
//定义dog的类,继承自animal类
class dog extends animal {
//定义狗叫声的方法
public function shout(){
echo "汪汪……";
}
}
$dog1=new dog();
$dog1->shout();
?>
运行结果
从运行结果看,在dog类对象的shout()方法时,只会调用子类重写的该方法,并不会调用父类的shout()方法
如果想要调用父类被重写的方法,就需要使用parent关键字,用于访问父类的成员,由于parent关键字易用是一个类而不是一个对象,因此需要使用范围解析操作符(::)
案例
<?php
class animal{
public function shout(){
echo "动物发出叫声<br>";
}
}
//定义dog的类,继承自animal类
class dog extends animal {
//定义狗叫声的方法
public function shout(){
parent::shout();
echo "汪汪……";
}
}
$dog1=new dog();
$dog1->shout();
?>
运行结果
从运行结果可以看出,子类通过parent关键字可以成功访问父类的成员方法。
注意:子类方法重写父类方法时,访问权限不能小于父类方法的访问权限。如,父类的方法是public,在子类中重写方法时只能是public的,不能声明为protected或者private
上一篇: 继承的概念
下一篇: 继承-final关键字
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。