Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erklärung abstrakter Methoden und abstrakter Klassen in PHP

Detaillierte Erklärung abstrakter Methoden und abstrakter Klassen in PHP

墨辰丷
Freigeben: 2023-03-27 22:42:01
Original
1416 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich abstrakte Methoden und abstrakte Klassen in PHP vorgestellt. Es hat einen sehr guten Referenzwert, schauen wir es uns mit dem Editor unten an

1 Was ist eine abstrakte Methode?

Die Methoden, die wir in der Klasse ohne Methodenerwähnung 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:

abstract function fun1(); 
abstract function fun2();
Nach dem Login kopieren

2. Was ist eine abstrakte Klasse?

Solange eine Methode in einer Klasse eine abstrakte Methode ist, muss diese Klasse auch mit dem Schlüsselwort „abstract“ geändert werden Sie sind abstrakte Methoden und Mitgliedsattribute, aber solange 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();
}
Nach dem Login kopieren

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“ definiert. Es gibt auch eine nicht abstrakte Methode fun3() mit „fun2“. 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 verwenden Objekte, die durch Klassen instanziiert werden, sodass abstrakte Klassen keine Instanzobjekte erzeugen können die Verwendung der Deklaration einer abstrakten Klasse? Wir verwenden abstrakte Methoden als Vorlagen für die Überladung von Unterklassen. Die Definition einer abstrakten Klasse entspricht der Definition dieser Spezifikation. 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. Denn manchmal müssen wir einige Funktionen von einer abstrakten Klasse erben, 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 :

abstract class mode{
 var $test;
 abstract function fun1();
 abstract function fun2();
 function fun2(){
  ....
 }
}
$mode = new mode(); //抽象类只能为产生实例对象,所以这样做是错的,实例化对象交给子类
class test extends mode{
  function fun1(){
  ....
  }
  
  function fun2(){
  ....
  }
}
$test = new test(); //子类可以实例化对象,因为实现了所有父类的抽象化方法
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

PDO-Datenzugriff in PHP

AbstraktionSchicht

Der Unterschied zwischen der

abstraktenKlasse und der Schnittstelle in PHP

PHPs

abstrakteKlasse

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage