视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php中的方法重写是什么意思
2020-11-06 11:42:38 责编:小采
文档


方法重写:

是指当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用其内部定义的方法。

(推荐教程:java视频教程)

要求:

1、当一个父类和子类有一个方法,参数和名字完全一致,那么子类方法会覆盖父类的方法。

必须参数一致,才会实现方法覆盖。当参数个数不一致,则会报错(这就牵扯到上面说所得方法重载)。当方法名字不一致,就不会覆盖,只是子类新定义的方法。

2、在实行方法覆盖的时候,访问修饰符可以是不一样的,但是子类的访问范围必须大于等于父类的访问范围。

这是php这些语言设计时的规定吧。我是这么理解的是访问高一层的东西比较容易,如果再去访问底层的东西权限肯定要高一些。

要求参数和名字一样。并不是要求子类,父类名称相同。

是要求参数和名字一样,具体就是要求参数的个数与父类相同,而并不是参数名称一致。即传递的参数名字可以为任意,只要保证传递的个数相同即可。

举例:

<?php
class shao
{
 public function sasa($name){
 echo $name,'狗!<br/>';
 }
}
class zhen extends shao{
 public function aaa()
 {
 echo '猫<br/>';
 }
}
$lli = new zhen();
$lli->aaa();
$lli->aaa('binghh');
?>
<?php
class fu
{
 public function text(){
 echo '父类';
 }
 public function textt(){
 echo '父亲';
}
}
class erzi extends fu{
 public function text()
 {
 parent::text();//我要父类的东西
 echo '儿子';//重写

 }
}
$shili = new fu();
$erzi = new erzi();
$erzi->text();
?>

下载本文
显示全文
专题