PHP-Schnittstellen-Mehrfachvererbung und Tarits-Methode, um Tutorialdetails zu Mehrfachvererbungseffekten zu erzielen

jacklove
Freigeben: 2023-03-27 14:50:01
Original
1488 Leute haben es durchsucht

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("模特");
 
//运行结果
 
/**
   
接口继承,要实现所有相关抽象方法
模特正在跳舞!
**/
Nach dem Login kopieren

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("周杰伦");
 
//运行结果
 
/**
 
接口继承,要实现父接口所有相关方法!
 
模特正在跳舞!
 
周杰伦正在唱歌!
 
**/
Nach dem Login kopieren

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 (); 
>
Nach dem Login kopieren

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

zu löschen

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!

Verwandte Etiketten:
Quelle:php.cn
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!