Detaillierte Erläuterung der Definition und Regelverwendung abstrakter Klassen und abstrakter Methoden in PHP

伊谢尔伦
Freigeben: 2023-03-12 12:28:01
Original
2347 Leute haben es durchsucht

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(); 
   ……
}
Nach dem Login kopieren

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();
?>
Nach dem Login kopieren

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.

Abstrakte Klassen und Implementierungsbeispiele für abstrakte Klassen lauten wie folgt:

Der Code lautet wie folgt:

<?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(); //抽象类与抽象方法
?>
Nach dem Login kopieren
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();
?>
Nach dem Login kopieren


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!

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