Wie verwende ich die abstrakte PHP-Klasse? Detaillierte Erläuterung der Verwendung der abstrakten PHP-Klassendefinition

伊谢尔伦
Freigeben: 2023-03-12 12:12:02
Original
1717 Leute haben es durchsucht

Für PHP-Programmierer ist die Anwendung von PHP abstrakten Klassen der am schwierigsten zu beherrschende Punkt. Als Anfänger habe ich noch kein objektorientiertes Wissen zum Programmieren verwendet, aber in Zukunft werde ich Klassen zum Kapseln verwenden oder Schnittstellen verwenden, um Programme in verschiedenen modularen Formaten zu entwickeln ist unvermeidlich.

In natürlicher Sprache verstehen wir abstrakte Konzepte als eine umfassende Beschreibung eines Objekts, die ein gemeinsames Merkmal für einen bestimmten Objekttyp ist. Das Gleiche gilt für PHP. Wenn wir eine Klasse abstrahieren, können wir das allgemeine Verhalten der Klasse angeben, das einige Verhaltensweisen angibt, die ihre Untermethoden implementieren müssen.

Definition der abstrakten PHP-Klassenanwendung:

abstract class ClassName{

}

Wichtige Punkte der abstrakten PHP-Klassenanwendung:

 1. Definieren Sie einige Methoden, um alle Methoden in dieser Abstraktion vollständig zu implementieren

 2. Objekte können nicht aus abstrakten Klassen erstellt werden . Ihre Bedeutung ist zu erweitern

 3.

Abstrakte Klassen haben normalerweise abstrakte Methoden und es gibt keine geschweiften Klammern in den Methoden

Wichtige Punkte bei der Anwendung abstrakter PHP-Klassen:

1. Abstrakte Methoden tun dies Es müssen keine spezifischen Funktionen implementiert werden, die durch Unterklassen vervollständigt werden

2. Wenn eine Unterklasse eine Methode einer abstrakten Klasse implementiert, muss die Sichtbarkeit der Unterklasse größer oder gleich der Definition der abstrakten Methode

sein

3. Die Methode kann Parameter haben oder leer sein

4. Wenn die abstrakte Methode Parameter hat, dann muss die Implementierung der Unterklasse auch die gleiche Anzahl von Parametern haben

PHP-Abstrakt Beispiel für eine Klassenanwendung:

abstract public function_name(); //Beachten Sie, dass es keine geschweiften Klammern gibt

PHP-Abstrakte-Klassenregeln:

  1. Eine bestimmte Klasse muss nur mindestens eine abstrakte Methode enthalten. Sie muss als abstrakte Klasse

  2. abstrakte Methode deklariert werden und darf keine

    Funktion enthalten Körper

  3. Vererbung Unterklassen abstrakter Klassen, die abstrakte Methoden implementieren, müssen die gleiche oder eine niedrigere Zugriffsebene haben wie die abstrakte Methode

  4. Erben Unterklassen abstrakter Klassen. Wenn sie nicht alle abstrakten Methoden implementieren, ist diese Unterklasse auch eine abstrakte Klasse.

Zur Demonstration implementieren wir eine einfache abstrakte Klasse: Berechnen Sie die Fläche von ​​ein Rechteck. Dieses Rechteck kann aus der Formklasse erweitert werden.

<?php
abstract class Shape {   
abstract protected function get_area();   
//和一般的方法不同的是,这个方法没有大括号   
//你不能创建这个抽象类的实例:$Shape_Rect= new Shape(); 
}   
class Rectangle extends Shape{   
private $width;   
private $height;   
function construct($width=0,$height=0){   

  $this->width=$width;   
  $this->height=$height;   
}   
function get_area(){   
  echo ($this->width+$this->height)*2;   
}   
}   
$Shape_Rect = new Rectangle(20,30);   
$Shape_Rect->get_area();   
?>
Nach dem Login kopieren
Dies ist auch ein einfaches Beispiel, das im Grunde die Verwendung abstrakter Klassen in PHP veranschaulicht. Mehr möchte ich nicht sagen. Persönlich denke ich, dass abstrakte Klassen im Allgemeinen in großen Projekten verwendet werden, da es meiner Meinung nach zu viele „Regeln“ gibt, an die man sich halten muss, was die Verwendung unpraktisch macht! Das ist natürlich nur meine Meinung. Ich möchte noch ein paar Dinge sagen. PHP-abstrakte Klassenanwendungen sind einfach geerbt, was bedeutet, dass Sie nur von einer Klasse erben können, aber nicht von einer Klasse, die Klasse A und Klasse B erbt. Wenn Sie eine solche Funktion implementieren möchten , Sie müssen eine Schnittstelle verwenden, ich werde vorerst nicht auf die Kenntnisse der PHP-Schnittstelle eingehen! Mit einem Wort: Einzelne Vererbung und mehrere Schnittstellen!

Das obige ist der detaillierte Inhalt vonWie verwende ich die abstrakte PHP-Klasse? Detaillierte Erläuterung der Verwendung der abstrakten PHP-Klassendefinition. 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