Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Definition und Regelverwendung abstrakter Klassen und abstrakter Methoden in PHP
In der objektorientierten (OOP) Sprache kann eine Klasse eine oder mehrere Unterklassen haben, und jede Klasse verfügt über mindestens eine öffentliche Methode als externe Codezugriffsschnittstelle . Um die Vererbung zu erleichtern, werden abstrakte Methoden eingeführt. Schauen wir uns nun an, wie abstrakte Klassen bzw. abstrakte Methoden definiert sind und welche Eigenschaften sie haben.
Was ist eine abstrakte Methode? Die Methode, die wir in der Klasse nur mit dem Methodennamen und ohne Methodenkörper definieren, ist eine abstrakte Methode. Der sogenannte „keine Methodenkörper“ bedeutet, dass bei der Deklaration der Methode keine geschweiften Klammern vorhanden sind Direkt deklariert, wird nach dem Methodennamen ein Semikolon hinzugefügt. Wenn Sie eine abstrakte Methode deklarieren, fügen Sie außerdem das Schlüsselwort „abstract“ hinzu, um sie zu ändern.
1. Abstraktes Schlüsselwort: abstract
Abstrakt bedeutet, dass es nicht genau erklärt werden kann, aber ein bestimmtes Konzept oder einen bestimmten Namen hat. Um eine abstrakte Klasse oder Methode in PHP zu deklarieren, müssen wir das verwenden abstraktes Schlüsselwort.
2. Definition abstrakter Methoden und abstrakter Klassen
Wenn mindestens eine Methode in einer Klasse abstrakt ist, nennen wir sie eine abstrakte Klasse. Wenn Sie also eine abstrakte Klasse definieren, definieren Sie zuerst die abstrakte Methode.
Der Code lautet wie folgt:
abstract class class1{ abstract function fun1(); …… }
Es gibt mindestens eine abstrakte Methode in der Klasse
2 Abstrakte Methoden dürfen nicht {} haben.
3. Vor der abstrakten Methode muss abstrakt hinzugefügt werden
3. Regeln für die Verwendung abstrakter Klassen und Methoden
Mehrere Merkmale abstrakter Klassen:
1. Kann nicht instanziiert werden
2. In der geerbten abgeleiteten Klasse müssen alle abstrakten Methoden überladen werden
über abstrakte Methoden lautet wie folgt: Der Code lautet wie folgt:<?php abstract function fun1(); ?>
Was ist eine abstrakte Klasse? Solange eine Methode in einer Klasse eine abstrakte Methode ist, muss die Klasse als abstrakte Klasse definiert werden. Abstrakte Klassen müssen auch mit dem Schlüsselwort „abstract“ geändert werden. Abstrakte Klassen können keine Objekte instanziieren, daher werden abstrakte Methoden als Vorlagen für die Überladung von Unterklassenmethoden verwendet und alle Methoden in der geerbten abstrakten Klasse müssen implementiert werden.
<?php abstract class User{ //定义抽象类 abstract protected function getUser(); //定义抽象方法 public function print_content(){ print $this->getUser(); } } class vipUser extends User{ protected function getUser(){ return "抽象类与抽象方法www.jb51.net"; } } $user=new vipUser(); //实例化子类 $user->print_content(); //抽象类与抽象方法 ?>Hinweis: Wenn eine abstrakte Klasse eine andere abstrakte Klasse erbt ( Der Zweck ist eine Erweiterung einer abstrakten Klasse) und kann die abstrakte Methode der übergeordneten Klasse nicht überschreiben. In PHP5.1 werden statische abstrakte Methoden in abstrakten Klassen unterstützt. Im folgenden Beispiel sehen wir, dass statische abstrakte Methoden deklariert werden können. Bei der Implementierung dieser Methode muss es sich um eine statische Methode handeln. Der Code lautet wie folgt:
<?php abstract class User{ protected static $sal=0; static abstract function getSal(); static abstract function setSal($sal); } class VipUser extends User{ static function getSal(){ return self::$sal; } static function setSal($sal){ self::$sal=$sal; } } VipUser::setSal(100); echo "you sal is www.jb51.net " . VipUser::getSal(); ?>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Definition und Regelverwendung abstrakter Klassen und abstrakter Methoden in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!