Heim >Backend-Entwicklung >PHP-Tutorial >Was ist eine abstrakte Klasse in PHP objektorientiert? und die Rolle abstrakter Klassen

Was ist eine abstrakte Klasse in PHP objektorientiert? und die Rolle abstrakter Klassen

巴扎黑
巴扎黑Original
2017-04-17 14:39:062092Durchsuche

In diesem Artikel stellen wir vor, was abstrakte Klassen sind, und geben eine Einführung in ihre Verwendung.

Was ist eine abstrakte Klasse?

Abstrakte Klassen können nicht instanziiert werden und dieselben Methoden werden nicht implementiert. Es werden nur Methodendeklarationen ohne spezifische Implementierung bereitgestellt. Abstrakte Klassen können nur als übergeordnete Klassen anderer Klassen verwendet werden. Abstrakte Klassen werden mit dem Schlüsselwort abstract deklariert und das Syntaxformat lautet:

abstract class AbstractName{
.....
}

Hinweis:

Abstrakte Klassen ähneln gewöhnlichen Klassen und verfügen über Mitgliedsvariablen und Mitgliedsmethoden. Aber es gibt einen Unterschied. Eine Klasse, die eine abstrakte Methode enthält, muss selbst abstrakt sein. Eine abstrakte Methode hat keinen Methodenkörper und ihre Funktionen können nur in Unterklassen ausgeführt werden. Abstrakte Methoden werden auch mit dem Schlüsselwort abstract geändert. Das Format lautet:

abstract function abstractName();

Auf die abstrakte Methode folgt ein Semikolon anstelle der geschweiften Klammern „{}“.

Welche Rolle spielen abstrakte Klassen?

Unter unseren Klassen werden viele Klassen wiederholt geschrieben. Zu diesem Zeitpunkt können wir das Konzept abstrakter Klassen verwenden, um eine öffentliche Klasse zu schreiben, und wir können sie nach der Instanziierung wiederholt aufrufen. Eine abstrakte Klasse ist wie ein großes Lagerhaus mit vielen Dingen. Sie müssen nicht alles im Lagerhaus verwenden. Sie können es aufrufen, wenn Sie es benötigen. Wenn Sie mit den Artikeln im Lager unzufrieden sind, können Sie auch selbst einen neuen Artikel erstellen.

Abstrakte Methoden und abstrakte Klassen werden hauptsächlich in komplexen Klassenhierarchien verwendet. Diese hierarchische Beziehung muss sicherstellen, dass jede Unterklasse bestimmte spezifische Methoden enthält. Dies kann auch durch Schnittstellen erreicht werden.

Erläuterung abstrakter Klassenbeispiele:

<?php
header("content-type:text/html;charset=utf-8");
abstract class Member{
abstract function vipMember($name,$level,$money);
}
class Member1 extends Member{
function vipMember($name,$level,$money){
echo "您在PHP中文网的会员名是:" . $name;
echo &#39;<br/>&#39;;
echo "您的会员等级是:" . $level;
echo &#39;<br/>&#39;;
echo "您发文章赚取的钱是:" . $money;
}
}
class Member2 extends Member{
function vipMember($name,$level,$money){
echo "您在PHP中文网的会员名是:" . $name;
echo &#39;<br/>&#39;;
echo "您的会员等级是:" . $level;
echo &#39;<br/>&#39;;
echo "您要提取" . $money . "元";
}
}
$member1 = new Member1();
$member2 = new Member2();
$member1->vipMember(&#39;大白&#39;,&#39;三级&#39;,&#39;24.35&#39;);
echo &#39;<br/>&#39;;
echo &#39;<hr/>&#39;;
$member2->vipMember(&#39;小明&#39;,&#39;五级&#39;,&#39;84.73&#39;);

Erstellen Sie zunächst eine abstrakte Mitgliedsklasse, die eine abstrakte Methode vipMember enthält. Generieren Sie zwei Unterklassen, Member1 und Member2, für die abstrakte Klasse und implementieren Sie jeweils abstrakte Methoden in den beiden Unterklassen. Instanziieren Sie abschließend zwei Objekte, rufen Sie die implementierte abstrakte Methode auf und geben Sie sie schließlich aus.

Das obige ist der detaillierte Inhalt vonWas ist eine abstrakte Klasse in PHP objektorientiert? und die Rolle abstrakter Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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