In diesem Artikel werden hauptsächlich die Methoden der PHP-Schnittstellen-Mehrfachvererbung und Tarits zur Erzielung eines Mehrfachvererbungseffekts vorgestellt. Er analysiert die auf PHP-Schnittstellen basierende Mehrfachvererbung und die einfachen Operationstechniken von Tarits, die in PHP5.4 eingeführt wurden, um eine Mehrfachvererbung zu erreichen Funktion in Form von Beispielen. Freunde in Not. Sie können sich darauf beziehen, ich hoffe, es kann allen helfen.
Schnittstellen-Mehrfachvererbung
In der objektorientierten Schnittstelle von PHP können Schnittstellen Schnittstellen erben. PHP-Klassen können nur von einer übergeordneten Klasse erben (Einzelvererbung), Schnittstellen können jedoch Mehrfachvererbung implementieren und eine oder mehrere Schnittstellen erben. Natürlich verwendet die Schnittstellenvererbung das Schlüsselwort „extends“ genau wie die Klassenvererbung. Wenn Sie mehrere Vererbungen wünschen, trennen Sie einfach die geerbten Schnittstellen durch Kommas.
Es ist zu beachten, dass Ihre Schnittstelle, wenn sie andere Schnittstellen erbt, direkt die statischen Konstantenattribute und abstrakten Methoden der übergeordneten Schnittstelle erbt, sodass die Klasse bei der Implementierung der Schnittstelle alle relevanten abstrakten Methoden implementieren muss.
Das Folgende ist ein Beispiel:
1. Einzelne Schnittstelle erben
<?php interface testA{ function echostr(); } interface testB extends testA{ function dancing($name); } class testC implements testB{ function echostr(){ echo "接口继承,要实现所有相关抽象方法!"; echo "<br>"; } function dancing($name){ echo $name."正在跳舞!"; } } $demo=new testC(); $demo->echostr(); $demo->dancing("模特"); //运行结果 /** 接口继承,要实现所有相关抽象方法 模特正在跳舞! **/
2. Mehrere Schnittstellen erben
<?php interface testA{ function echostr(); } interface testB{ function dancing($name); } interface testC extends testA,testB{ function singing($nickname); } class testD implements testC{ function echostr(){ echo "接口继承,要实现父接口所有相关方法!"; echo "<br />"; } function dancing($name){ echo $name."正在跳舞!"; echo "<br />"; } function singing($nickname){ echo $nickname."正在唱歌!"; } } $demo=new testD(); $demo->echostr(); $demo->dancing("模特"); $demo->singing("周杰伦"); //运行结果 /** 接口继承,要实现父接口所有相关方法! 模特正在跳舞! 周杰伦正在唱歌! **/
Ziel ist die Mehrfachvererbung
Mehrfachvererbung Eine Klasse kann mehrere übergeordnete Klassen gleichzeitig erben und die Funktionen mehrerer übergeordneter Klassen kombinieren. Dieses Modell wird in C++ verwendet, um die Flexibilität der Integration zu erhöhen. Allerdings ist die Mehrfachvererbung zu flexibel und führt zu einer „Diamantenvererbung“. Daher gibt es bei der Verwendung viele Schwierigkeiten und das Modell ist komplizierter geworden. Jetzt haben die meisten Sprachen das Mehrfachvererbungsmodell aufgegeben.Aber manchmal möchte ich Mehrfachvererbung verwenden, aber PHP verfügt nicht über Mehrfachvererbung, also habe ich so etwas erfunden.
<?php trait myTrait{ function traitMethod1(){} function traitMethod2(){} } //然后是调用这个traits,语法为: class myClass{ use myTrait; } //这样就可以通过use myTraits,调用Traits中的方法了,比如: $obj = new myClass(); $obj-> traitMethod1 (); $obj-> traitMethod2 (); >
So implementieren Sie Schnittstellenvererbung und Schnittstellen-Mehrfachvererbungsprinzipien in PHP
6 in PHP vordefinierte Arten der Schnittstellenanalyse
PHP verwendet Schnittstellen und Kombinationen, um Mehrfachvererbung zu simulieren_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonDie Mehrfachvererbung der PHP-Schnittstelle und Tarits implementieren die gemeinsame Nutzung von Beispielen für die Mehrfachvererbung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!