Heim > Backend-Entwicklung > PHP-Tutorial > Abstraktion der PHP-Klasse

Abstraktion der PHP-Klasse

WBOY
Freigeben: 2023-08-31 06:00:01
nach vorne
1542 Leute haben es durchsucht

Abstraktion der PHP-Klasse

Einführung

In der objektorientierten Programmierung ist eine abstrakte Klasse diejenige, die instanziiert werden kann, d. h. es ist nicht möglich, ein Objekt einer solchen Klasse zu deklarieren. PHP unterstützt das Konzept der abstarct-Klasse seit Version 5.0

Eine mit dem Schlüsselwort abstract definierte Klasse wird zu einer abstrakten Klasse. Darüber hinaus gilt auch jede Klasse, die mindestens eine abstrakte Methode enthält, als abstrakt Beschreibung:

<?php
class testclass{
   //
}
?>
Nach dem Login kopieren

abstrakte Methode

Abstrakte Methode deklariert nur seine Signatur, d. h. seine Sichtbarkeit, Argumente und den Rückgabetyp mit Typhinweisen, und hat keine Funktionalität. Eine Klasse, die eine solche abstrakte Klasse erbt, muss alle abstrakten Methoden überschreiben (Definition bereitstellen). Die entsprechende Methode in der untergeordneten Klasse muss dieselbe Signatur tragen wie in der übergeordneten Klasse. Wenn die untergeordnete Klasse diese Bedingung nicht erfüllt, löst der PHP-Parser eine Ausnahme aus. Eine Klasse, die eine abstrakte Klasse erweitert, kann jetzt instanziiert werden, daher wird sie konkrete Klasse genannt. Im folgenden Beispiel verfügt die übergeordnete Klasse über zwei abstrakte Methoden, von denen nur eine in der untergeordneten Klasse neu definiert wird. Dies führt zu folgendem Fehler:

Beispiel

 Live-Demo

$a=new testclass();
PHP Fatal error: Uncaught Error: Cannot instantiate abstract class testclass
Nach dem Login kopieren

Ausgabe

Es folgt die Fehlermeldung

<?php
abstract class testclass{
   abstract function test1();
   abstract function hello();
}
class myclass extends testclass{
   function test1(){
      echo "Overrides parent test method";
   }
}
$a=new myclass();
?>
Nach dem Login kopieren

Abstrakte Methode mit Argumenten

Wenn die abstrakte Methode mit Argumenten definiert ist, muss sie in der untergeordneten Klasse mit überschrieben werden gleiche Anzahl von Argumenten

Im folgenden Beispiel hat die abstrakte Methode in der übergeordneten Klasse zwei Argumente. Die untergeordnete Klasse definiert auch dieselbe Funktion mit zwei Argumenten. Beispiel: Live-Demo:

PHP Fatal error: Class myclass contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (testclass::hello)
Nach dem Login kopieren
:

Das obige ist der detaillierte Inhalt vonAbstraktion der PHP-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
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