1. Was ist eine abstrakte Methode?
Die Methoden, die wir in der Klasse ohne Methoden definieren, sind abstrakte Methoden. Der sogenannte „Kein Methodenkörper“ bedeutet, dass bei der Deklaration keine geschweiften Klammern und der darin enthaltene Inhalt vorhanden sind, sondern bei der Deklaration direkt ein Semikolon nach dem Methodennamen hinzugefügt wird. Darüber hinaus muss die Methode bei der Deklaration einer abstrakten Methode auch ein Schlüsselwort hinzufügen . „abstrakt“ zum Ändern.
Zum Beispiel:
abstrakte Funktion fun1();
abstrakte Funktion fun2();
2. Was ist eine abstrakte Klasse?
Solange eine Methode in einer Klasse eine abstrakte Methode ist, wird die Klasse als abstrakte Klasse definiert und die abstrakte Klasse muss dort auch mit dem Schlüsselwort „abstract“ geändert werden Es können Methoden sein, die nicht abstrakt sind, und Mitgliedsattribute. Solange jedoch eine Methode abstrakt ist, muss die Klasse als abstrakte Klasse deklariert und mit „abstrakt“ versehen werden.
Zum Beispiel:
abstract class demo{ var $test; abstract function fun1(); abstract function fun2(); }
3. Welche Rolle spielen abstrakte Klassen?
Im obigen Beispiel wird eine abstrakte Klasse „demo“ definiert und mit „abstract“ geändert. In dieser Klasse werden ein Mitgliedsattribut „$test“ und zwei abstrakte Methoden „fun1“ und „fun2“ definiert . „Es gibt auch eine nicht-abstrakte Methode fun3(); wie verwenden wir also abstrakte Klassen? Der wichtigste Punkt ist, dass abstrakte Klassen keine Instanzobjekte erzeugen können und daher nicht direkt verwendet werden können. Wir haben durch Klassen instanziierte Objekte verwendet und können daher keine Instanzen erzeugen die Verwendung der Deklaration abstrakter Klassen für Objekte? Wir verwenden abstrakte Methoden als Vorlagen für das Überladen von Unterklassen. Das Definieren einer abstrakten Klasse entspricht der Definition einer Spezifikation. Nachdem die Unterklasse der abstrakten Klasse folgt, werden die darin enthaltenen abstrakten Methoden entsprechend den Anforderungen implementiert Unterklassen. Die Unterklasse muss alle abstrakten Methoden in der übergeordneten Klasse implementieren. Wenn es sonst noch abstrakte Methoden in der Unterklasse gibt, ist die Unterklasse immer noch eine abstrakte Klasse und kann nicht instanziiert werden. Denn manchmal müssen wir von einer abstrakten Klasse erben, um einige Funktionen zu implementieren, sonst können Sie diese Funktionen nicht implementieren. Wenn Sie eine abstrakte Klasse erben, müssen Sie beispielsweise die abstrakte Methode in der Klasse implementieren :
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung abstrakter Methoden und abstrakter Klassen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!