Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die abstrakte PHP-Methode?

Was ist die abstrakte PHP-Methode?

藏色散人
藏色散人Original
2020-10-09 09:07:253376Durchsuche

Die abstrakte PHP-Methode bezieht sich auf eine in einer Klasse definierte Methode ohne Methodenkörper. Das Fehlen eines Methodenkörpers bedeutet, dass bei der Deklaration keine geschweiften Klammern und der darin enthaltene Inhalt vorhanden sind, sondern bei der Deklaration direkt eine Markierung nach dem Methodennamen hinzugefügt wird . Nr. endet außerdem, wenn eine abstrakte Methode deklariert wird, muss die Methode mit dem Schlüsselwort „abstract“ geändert werden.

Was ist die abstrakte PHP-Methode?

Empfohlen: „PHP-Video-Tutorial

Abstrakte Methoden und abstrakte Klassen in PHP

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();

2. Was ist eine abstrakte Klasse?

Solange eine Klasse eine abstrakte Methode enthält, wird die Klasse als abstrakte Klasse definiert und die abstrakte Klasse muss auch mit dem Schlüsselwort „abstract“ in einer abstrakten Klasse geändert werden Attribute, die nicht abstrakt sind, aber solange es eine abstrakte Methode gibt, muss die Klasse als abstrakte Klasse deklariert und mit „abstract“ dekoriert 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“ mit „abstract“ definiert und geändert. In dieser Klasse wird ein Mitgliedsattribut „$test“ definiert und zwei abstrakte Methoden „fun1“ und „fun2“ sowie ein weiteres Non -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 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. Diese Spezifikation erfordert, dass die Unterklasse der abstrakten Klasse folgt. Die abstrakten Methoden in der Klasse werden entsprechend implementiert auf die Bedürfnisse der Unterklasse zugeschnitten.

Die Unterklasse muss alle abstrakten Methoden in der übergeordneten Klasse implementieren. Andernfalls ist die Unterklasse immer noch eine abstrakte Klasse und kann nicht instanziiert werden ?

Denn wenn wir einige Funktionen implementieren möchten, müssen wir von einer abstrakten Klasse erben, sonst können Sie diese Funktionen nicht implementieren. Wenn Sie eine abstrakte Klasse erben, müssen Sie die abstrakte Methode in der Klasse implementieren Zum Beispiel:

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(); //子类可以实例化对象,因为实现了所有父类的抽象化方法

Das obige ist der detaillierte Inhalt vonWas ist die abstrakte PHP-Methode?. 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