Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Schnittstelle mit Mehrfachvererbung und Tarits-Methode zur Erlangung mehrerer Vererbungseffekte

PHP-Schnittstelle mit Mehrfachvererbung und Tarits-Methode zur Erlangung mehrerer Vererbungseffekte

jacklove
jackloveOriginal
2018-07-02 18:01:461829Durchsuche

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 können darauf verweisen

Dieser Artikel beschreibt das Beispiel der Mehrfachvererbung von PHP-Schnittstellen und die Methode zum Erreichen mehrerer Vererbungseffekte durch Tarits. Geben Sie es wie folgt als Referenz an alle weiter:

Mehrfachvererbung der Schnittstelle

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 beim Erben anderer Schnittstellen direkt die statischen Konstantenattribute und abstrakten Methoden der übergeordneten Schnittstelle erbt. Daher muss die Klasse bei der Implementierung der Schnittstelle alle relevanten abstrakten Methoden implementieren.

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

tarits mehrfache Vererbung

Bei der Mehrfachvererbung kann eine Klasse mehrere übergeordnete Klassen gleichzeitig erben. Die Funktion zum Kombinieren mehrerer übergeordneter Klassen wird in C++ verwendet, um die Flexibilität der Integration zu erhöhen ". Daher gibt es viele Schwierigkeiten bei der Verwendung und das Modell ist kompliziert 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.

Traits können als eine Reihe von Methoden verstanden werden, die von verschiedenen Klassen aufgerufen werden können, aber Traits sind keine Klassen! Kann nicht instanziiert werden. Schauen wir uns die Syntax anhand eines Beispiels an:

<?php
trait myTrait{
  function traitMethod1(){}
  function traitMethod2(){}
}
//然后是调用这个traits,语法为:
class myClass{
  use myTrait;
}
//这样就可以通过use myTraits,调用Traits中的方法了,比如:
$obj = new myClass();
$obj-> traitMethod1 ();
$obj-> traitMethod2 (); 
>

Eine spezifische Einführung und Verwendung finden Sie in der offiziellen Einführung.

Artikel, die Sie interessieren könnten:

Detaillierte Erläuterung der Verwendung von Cache() für den kohärenten Datenbankbetrieb des thinkPHP5-Frameworks

Erklärung zur Implementierung benutzerdefinierter Paging-Stile in thinkPHP3.2

Beispielanalyse der Funktion zum Hochladen mehrerer Bilder, implementiert durch das Laravel-Framework + Blob

Das obige ist der detaillierte Inhalt vonPHP-Schnittstelle mit Mehrfachvererbung und Tarits-Methode zur Erlangung mehrerer Vererbungseffekte. 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