PHP での関数オーバーライドには、コードの再利用、ポリモーフィズム、およびメンテナンスのために、親クラス内の同じ名前のメソッドをオーバーライドすることが含まれます。構文: class サブクラス extends スーパークラス { public function overridenMethod() { // カスタム実装 } }。オーバーライドされた関数のシグネチャは、親クラスのシグネチャと一致している必要があります。読みやすさを向上させるために @override アノテーションを追加することをお勧めします。parent:: 構文により、親クラス メソッドの元の実装にアクセスできます。
#PHP で関数をオーバーライドする方法
PHP では、親内の同じ名前のメソッドをオーバーライドすることで関数をオーバーライドできます。クラス。これはオブジェクト指向プログラミングに非常に役立ち、コードの再利用、ポリモーフィズム、コードのメンテナンスが可能になります。構文
class Subclass extends Superclass { public function overridenMethod() { // 自定义实现 } }
実践
## を含むAnimal クラスがあるとします。 #speak()
メソッドの場合、このメソッドは一般的なメッセージを出力します。次に、Dog
サブクラスを作成し、speak()
メソッドをオーバーライドして、より具体的な犬の吠え音を出力します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>class Animal {
public function speak() {
echo "Generic animal sound.";
}
}
class Dog extends Animal {
public function speak() {
echo "Woof!";
}
}
$animal = new Animal();
$animal->speak(); // 输出: "Generic animal sound."
$dog = new Dog();
$dog->speak(); // 输出: "Woof!"</pre><div class="contentsignin">ログイン後にコピー</div></div></p>注: <p><strong></strong></p>オーバーライドされたメソッドのシグネチャ (名前、パラメーター、戻り値の型) は、元のメソッドとまったく同じである必要があります。親クラス。 <ul>
<li>サブクラスのメソッドに </li>@override<li> という注釈が付けられている場合、コードの可読性と保守性が向上する可能性があります。 <code>
parent::
以上がPHP で関数をオーバーライドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。