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

Abstraktion der PHP-Klasse

WBOY
WBOYnach vorne
2023-08-30 23:17:061511Durchsuche

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{
   //
}
?>

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

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

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)
:

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen