Heim >Backend-Entwicklung >PHP-Problem >So implementieren Sie ein Objekt, das die Methode seiner übergeordneten Klasse in PHP aufruft
In PHP kann ein Objekt seine eigenen Methoden und von übergeordneten Klassen geerbte Methoden aufrufen. In einigen Fällen möchten wir die Methode seiner übergeordneten Klasse in einer Methode einer Unterklasse aufrufen. In diesem Fall müssen wir die Methode des PHP-Objekts verwenden, um die Methode der übergeordneten Klasse aufzurufen.
Lassen Sie uns besprechen, wie Sie die Methode eines Objekts zum Aufrufen seiner übergeordneten Klasse in PHP implementieren.
1. Rufen Sie Methoden der übergeordneten Klasse über das Schlüsselwort parent auf.
In PHP gibt es ein Schlüsselwort parent
, mit dem Methoden in der übergeordneten Klasse aufgerufen werden können. Durch die Verwendung der Form parent::method()
in der Unterklassenmethode können Sie die gleichnamige Methode in der übergeordneten Klasse aufrufen. 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()
方法中,通过 parent::eat()
调用了父类的 eat()
方法。
调用 Cat
类的 eat()
方法,则会输出 Animal is eating...Cat is eating...
。
二、使用 $this->parent
调用父类方法
除了使用 parent
关键字,在 PHP 5.3 以上版本中,也可以通过 $this->parent
的形式来调用父类方法。
例如,我们可以将上面的 Cat
类改为以下形式:
class Cat extends Animal { public function eat() { $this->parent::eat(); echo 'Cat is eating...'; } }
这里我们使用了 $this->parent
调用了父类 eat()
方法,并输出了 Cat is eating...
。
三、总结
通过使用 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)
class Cat extends Animal { public function eat($food1, $food2) { parent::eat($food1, $food2); echo "Cat is eating $food1 and $food2"; } }Im obigen Code verfügt die Klasse
Animal
über eine Methode eat()
und Die Klasse Cat
erbt die Klasse Animal
und überschreibt die Methode eat()
. In der Methode eat()
der Klasse Cat
wird eat()parent::eat()
aufgerufen > /code>-Methode. 🎜🎜Der Aufruf der Methode eat()
der Klasse Cat
gibt Animal is eat...Cat is eat...
aus. 🎜🎜2. Verwenden Sie $this->parent
, um die übergeordnete Klassenmethode aufzurufen. 🎜🎜Zusätzlich zur Verwendung des Schlüsselworts parent
können Sie dies in PHP 5.3 oder höher auch tun Verwenden Sie $this->parent
, um die Methode der übergeordneten Klasse aufzurufen. 🎜🎜Zum Beispiel können wir die obige Cat
-Klasse in die folgende Form ändern: 🎜rrreee🎜Hier verwenden wir $this->parent
, um die übergeordnete Klasse Methode eat()
und Ausgabe Katze isst...
. 🎜🎜3. Zusammenfassung🎜🎜Durch die Verwendung des Schlüsselworts parent
oder $this->parent
können wir die Methode eines Objekts in PHP leicht implementieren, indem wir seine übergeordnete Klasse aufrufen. 🎜🎜Es ist zu beachten, dass bei variablen Parametern in der Methode der übergeordneten Klasse, zum Beispiel: 🎜rrreee🎜In der Unterklasse die Verwendung von parent::eat($food1, $food2) nicht zulässig ist. code> um die Methode der übergeordneten Klasse aufzurufen. Da variable Parameter in der übergeordneten Klasse das Verhalten in der untergeordneten Klasse beeinflussen können, lässt PHP diese Methode nicht zu. Die Parameter müssen in der untergeordneten Klasse neu definiert werden. Beispiel: 🎜rrreee🎜Das Obige beschreibt, wie ein Objekt in PHP die übergeordnete Klasse aufruft method Eine kurze Einführung in die Methode. Ich hoffe, sie hilft den Lesern zu verstehen, wie PHP-Objekte übergeordnete Klassenmethoden aufrufen. 🎜
Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein Objekt, das die Methode seiner übergeordneten Klasse in PHP aufruft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!