• 微信号
  • 微信号
目录

PHP基础

您当前的位置:首页 > 我的笔记 > PHP基础>继承-重写父类方法

上一篇: 继承-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关键字

下一篇: 继承的概念