Heim >Backend-Entwicklung >PHP-Problem >So implementieren Sie ein Objekt, das die Methode seiner übergeordneten Klasse in PHP aufruft

So implementieren Sie ein Objekt, das die Methode seiner übergeordneten Klasse in PHP aufruft

PHPz
PHPzOriginal
2023-04-04 09:12:371131Durchsuche

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)

Zum Beispiel haben wir die folgenden übergeordneten und untergeordneten Klassen:

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn