ホームページ  >  記事  >  バックエンド開発  >  子类可以有一个和父类同样名字的方法吗?

子类可以有一个和父类同样名字的方法吗?

WBOY
WBOYオリジナル
2016-06-06 20:17:272717ブラウズ

这个代码里面 子类有一个show方法 父类也有一个show方法 然后子类再去继承父类 为什么不会报错?子类的show方法是把父类的show替代掉了吗还是怎么了?他们内部发生了什么?

<code>class father{
   public function show(){
        echo "aaa";
   }
 }

class son extends human{
   public function show(){
        echo "bbb";
   }
}

$c=new son();
$c->show();</code>

回复内容:

这个代码里面 子类有一个show方法 父类也有一个show方法 然后子类再去继承父类 为什么不会报错?子类的show方法是把父类的show替代掉了吗还是怎么了?他们内部发生了什么?

<code>class father{
   public function show(){
        echo "aaa";
   }
 }

class son extends human{
   public function show(){
        echo "bbb";
   }
}

$c=new son();
$c->show();</code>

这是继承的特性,子类可以覆盖父类的方法。除非父类的方法定义了final关键字。

子类中也可以用parent::来引用父类中的方法。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。