Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der abstrakten PHP-Methoden und Beispiele für die Verwendung abstrakter Klassen

Detaillierte Erläuterung der abstrakten PHP-Methoden und Beispiele für die Verwendung abstrakter Klassen

伊谢尔伦
伊谢尔伦Original
2017-07-03 09:19:111547Durchsuche

In der OOP-Sprache kann eine Klasse eine oder mehrere Unterklassen haben, und jede Klasse verfügt über mindestens eine öffentliche Methode als Schnittstelle für den Zugriff durch externen Code. Zur Vereinfachung der Vererbung werden abstrakte Methoden eingeführt. Schauen wir uns zunächst die Definitionen von abstrakten Klassen und abstrakten Methoden an, bevor wir deren Verwendung erläutern.

Abstrakte Methoden und abstrakte Klassen
In der OOP-Sprache kann eine Klasse eine oder mehrere Unterklassen haben, und jede Klasse hat mindestens eine öffentliche Methode als
Die Schnittstelle, über die externer Code greift darauf zu. Um die Vererbung zu erleichtern, werden abstrakte Methoden eingeführt. Schauen wir uns zunächst die Definitionen abstrakter Klassen und
abstrakter Methoden an, bevor wir deren Verwendung erläutern.
Was ist eine abstrakte Methode? Die Methode, die wir in der Klasse ohne Methodenkörper definieren, ist eine abstrakte Methode. Der sogenannte Methodenkörper bedeutet, dass bei der Deklaration der Methode keine geschweiften Klammern und ihr Inhalt vorhanden sind, sondern direkt im Methodennamen
, fügen Sie am Ende ein Semikolon hinzu, wenn Sie eine abstrakte Methode deklarieren.
Zum Beispiel:
abstrakte Funktion fun1(); () ;
Das obige Beispiel sind die abstrakten Methoden „fun1()“ und „fun2()“ ohne einen durch „abstract“ modifizierten Methodenkörper.
Es gibt auch ein Semikolon nach der abstrakten Methode ; Was ist also Abstraktion? Solange eine Klasse eine abstrakte Methode enthält, muss die Klasse als abstrakte Klasse definiert werden und die abstrakte Klasse muss auch mit dem Schlüsselwort „abstract“ in einer abstrakten Klasse geändert werden abstrakt oder nicht. Methoden und Mitglieder
Attribute
, aber solange eine Methode eine abstrakte Methode ist, muss die Klasse
als abstrakte Klasse deklariert und mit „abstract“ dekoriert werden.
Zum Beispiel: Codeausschnitt

Im obigen Beispiel wird eine abstrakte Klasse „Demo“ definiert und mit „abstract“ geändert, und darin wird ein
-Mitglied definiert Klasse Das Attribut „$test“, zwei abstrakte Methoden „fun1“ und „fun2“ und eine nicht abstrakte Methode fun3(); Wie verwenden wir dann die abstrakte Klasse? Der wichtigste Punkt ist, dass abstrakte Klassen keine Instanz-

-Objekte
abstract class Demo{ 
var $test; 
abstract function fun1(); 
abstract function fun2(); 
function fun3(){ 
… . 
} 
}
erzeugen können und daher nicht direkt verwendet werden können

. Wir haben bereits mehrfach erwähnt, dass Klassen nicht direkt verwendet werden können. Objekt, dann kann eine abstrakte Klasse keine Instanzobjekte erzeugen. Welchen Nutzen hat die Deklaration einer abstrakten Klasse? Wir verwenden abstrakte Methoden als Vorlagen für die Überladung von
. Das Definieren einer abstrakten Klasse entspricht der Definition einer Spezifikation, die erfordert, dass Unterklassen der Funktion abstract
entsprechen die Bedürfnisse der Unterklasse. Die Unterklasse muss alle abstrakten Methoden in der übergeordneten Klasse implementieren. Wenn in der Unterklasse noch abstrakte Methoden vorhanden sind, ist die Unterklasse immer noch eine abstrakte Klasse und kann nicht instanziiert werden Nachlass? Denn manchmal müssen wir von einer abstrakten Klasse erben, um einige Funktionen zu implementieren. Andernfalls können Sie diese Funktionen nicht implementieren. Wenn Sie eine abstrakte Klasse erben, müssen Sie die abstrakte Methode in der Klasse implementieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der abstrakten PHP-Methoden und Beispiele für die Verwendung abstrakter Klassen. 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