PHP では、オブジェクトは独自のメソッドと親クラスから継承したメソッドを呼び出すことができます。場合によっては、サブクラスのメソッド内で親クラスのメソッドを呼び出したい場合がありますが、この場合は、PHP オブジェクトのメソッドを使用して親クラスのメソッドを呼び出す必要があります。
PHP で親クラスを呼び出すオブジェクトのメソッドを実装する方法について説明します。
1. 親キーワードを使用して親クラスのメソッドを呼び出す
PHP には、親クラスのメソッドを呼び出すために使用できるキーワード parent
があります。サブクラス メソッドで parent::method()
という形式を使用すると、親クラスで同じ名前のメソッドを呼び出すことができます。
たとえば、次の親クラスと子クラスがあります:
class Animal { public function eat() { echo 'Animal is eating...'; } } class Cat extends Animal { public function eat() { parent::eat(); echo 'Cat is eating...'; } }
上記のコードでは、Animal
クラスに eat()
があります。メソッドを継承し、Cat
クラスは Animal
クラスを継承し、eat()
メソッドをオーバーライドします。 Cat
クラスの eat()
メソッドでは、親クラスの eat()
メソッドが parent::eat() を通じて呼び出されます。
。
#Cat クラスの
eat() メソッドを呼び出すと、
Animal is eat...Cat is getting... が出力されます。
parent キーワードの使用に加えて、親クラス メソッド
$this->parent を使用します。またはそれ以上の場合は、
$this->parent の形式で親クラスのメソッドを呼び出すこともできます。
Cat クラスを次の形式に変更できます:
class Cat extends Animal { public function eat() { $this->parent::eat(); echo 'Cat is eating...'; } }
$this->parent を使用します。 call 親クラスの
eat() メソッドが追加され、
Cat is eat... が出力されます。
parent キーワードまたは
$this->parent を使用すると、PHP でオブジェクトを簡単に実装して呼び出すことができます。親クラスのメソッド。
class Animal { public function eat($food1, $food2) { echo "Animal is eating $food1 and $food2"; } } class Cat extends Animal { public function eat($food1, $food2) { //error, 不可使用parent::eat($food1, $food2) } }
parent::eat( $food1 , $food2) を使用して、親クラスのメソッドを呼び出します。親クラスの変数パラメーターはサブクラスの動作に影響を与える可能性があるため、PHP ではこのメソッドは許可されていません。パラメーターはサブクラス メソッドで再定義する必要があります。例:
class Cat extends Animal { public function eat($food1, $food2) { parent::eat($food1, $food2); echo "Cat is eating $food1 and $food2"; } }
以上がPHPで親クラスのメソッドを呼び出すオブジェクトを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。