Ist die Mehrfache Vererbung erlaubt, auf Klassen-Ebene in PHP?
Ist die Mehrfache Vererbung erlaubt, auf Klassen-Ebene in PHP?
Mögliche Duplikate, stackoverflow.com/questions/90982/multiple-inheritance-in-php
Ich glaube, die akzeptierten Antworten sollten hier ändern, denn es ist ein workaround für
Ich glaube, die akzeptierten Antworten sollten hier ändern, denn es ist ein workaround für
multiple inheritance
in PHP. Das ist beschrieben im Antwort, aber nicht in der akzeptierten Antwort.InformationsquelleAutor OM The Eternity | 2010-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mehrfache Vererbung leidet unter der Diamond-Problem, die bisher nicht zum vereinbarten wie) gelöst in PHP noch nicht. So, es gibt keine Mehrfachvererbung in PHP.
Wenn beide
ClassA
undClassB
definiert Ihre eigene Methodefoo()
, welche würden Sie nennen inClassC
?Sind Sie aufgefordert, entweder Objekt-Zusammensetzung oder Schnittstellen (die Mehrfachvererbung), oder - wenn Sie nach der horizontale Wiederverwendung - Blick in die Dekorateur oder Strategie Muster, bis wir Merkmale (oder Transplantate oder was auch immer Sie genannt werden, dann).
Einigen Referenz:
InformationsquelleAutor Gordon
Können Sie imitieren es, mit Methode und Eigenschaft delegation, aber es funktioniert nicht mit
is_a()
oderinstanceof
:Welcher Punkt? Die is_a? Oder die delegation?
Beide Pls eloborate Beiden zeigen, ich bin ein neuer coder nicht bewusst, diese Konzepte
InformationsquelleAutor Ionuț G. Stan
PHP unterstützt keine mehrfache Vererbung als solche, aber es gibt einige einfache Wiederverwendung von sets von Methoden, die in mehreren unabhängigen Klassen, mit
Merkmale
. Eintrait
geschrieben ist wie eine Klasse, aber es kann nicht instanziiert werden, von selbst.unten sind ein paar Beispiele aus PHP-Manual:
Beispiel Für Rangfolge:
Ausgabe:
Hier ist ein weiteres Beispiel mit Konflikt-Auflösung:
Weitere Informationen und ein tieferes Verständnis von Mehrere Inhertance in PHP.
Blick in Horizontale Wiederverwendung für PHP
InformationsquelleAutor mega6382
Nein, PHP keine Mehrfachvererbung.
Zu ermöglichen, diese Funktion in PHP, die Sie verwenden können, Schnittstellen oder Sie können mit "Zügen" statt von Klassen.
PHP 5.4.0 kommt mit Eigenschaften, die zu erfüllen Mehrfachvererbung Einschränkung. Lesen Sie mehr über Eigenschaften aus dem gegebenen link :
http://php.net/manual/en/language.oop5.traits.php
InformationsquelleAutor Homesh Paul