Das Beispiel in diesem Artikel beschreibt die Methode der Mehrfachvererbung der PHP-Schnittstelle und der Tarits, um den Effekt der Mehrfachvererbung zu erzielen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Mehrfachvererbung von Schnittstellen
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. Eine einzelne Schnittstelle erben
i
nterface testA{ function echostr(); } interface testB extends testA{ function dancing($name); } class testC implements testB{ function echostr(){ echo "接口继承,要实现所有相关抽象方法!"; echo " "; } function dancing($name){ echo $name."正在跳舞!"; } } $demo=new testC(); $demo->echostr(); $demo->dancing("模特"); //运行结果 /** 接口继承,要实现所有相关抽象方法 模特正在跳舞! **/
2. Mehrere Schnittstellen erben
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 " "; } function dancing($name){ echo $name."正在跳舞!"; echo " "; } function singing($nickname){ echo $nickname."正在唱歌!"; } } $demo=new testD(); $demo->echostr(); $demo->dancing("模特"); $demo->singing("周杰伦"); //运行结果 /** 接口继承,要实现父接口所有相关方法! 模特正在跳舞! 周杰伦正在唱歌! **/
taritsMehrfachvererbung
Bei der Mehrfachvererbung kann eine Klasse mehrere übergeordnete Klassen gleichzeitig erben und die Funktionen mehrerer übergeordneter Klassen kombinieren. Dieses Modell wird in C++ verwendet, um die Flexibilität zu erhöhen Integration, aber Mehrfachvererbung Es ist zu flexibel und führt zu einer „Diamantvererbung“, daher ist es schwierig zu verwenden und das Modell wird kompliziert. 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.
Traits können als eine Reihe von Methoden verstanden werden, die von verschiedenen Klassen aufgerufen werden können, aber Traits sind keine Klassen. Sie können nicht instanziiert werden. Schauen wir uns zunächst die Syntax anhand eines Beispiels an:
trait myTrait{ function traitMethod1(){} function traitMethod2(){} } //然后是调用这个traits,语法为: class myClass{ use myTrait; } //这样就可以通过use myTraits,调用Traits中的方法了,比如: $obj = new myClass(); $obj-> traitMethod1 (); $obj-> traitMethod2 (); >
Das Beispiel in diesem Artikel beschreibt die Methode der Mehrfachvererbung der PHP-Schnittstelle und tarits, um den Effekt der Mehrfachvererbung zu erzielen Wenn Sie über entsprechende Kenntnisse verfügen, beachten Sie bitte die PHP-Chinese-Website.
Verwandte Empfehlungen:
Fragen, die häufig in PHP-String-Reversal-Interviews auftreten
So erhalten Sie einen Zeichenstrom in PHP Der erste sich nicht wiederholendes Zeichen in
PHP verwendet eine Codezeile, um alle Dateien im Verzeichnis
Das obige ist der detaillierte Inhalt vonPHP-Schnittstellen-Mehrfachvererbung und Tarits-Methode, um Tutorialdetails zu Mehrfachvererbungseffekten zu erzielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!