PHP-objektorientierte Mehrfachvererbung und Schnittstellennutzung

巴扎黑
Freigeben: 2023-03-07 12:42:01
Original
3224 Leute haben es durchsucht

Bevor wir die Schnittstelle einführen, müssen wir wissen, warum wir die Schnittstelle verwenden müssen. Hier stellen wir sie Ihnen vor.

Warum dann Schnittstellen verwenden?

Unter den Computersprachen unterstützen nur wenige objektorientierte Sprachen die Mehrfachvererbung. Die PHP-Sprache, die wir lernen, unterstützt, wie die meisten Sprachen, keine Mehrfachvererbung. Um es ganz klar auszudrücken: Eine übergeordnete Klasse kann mehrere Unterklassen haben, eine Unterklasse jedoch nur eine übergeordnete Klasse.

Was ist Mehrfachvererbung?

Mehrfachvererbung ist eine Unterklasse, die zwei oder mehr übergeordnete Klassen erbt. Dies ist Mehrfachvererbung, die in PHP nicht zulässig ist. Wenn wir Mehrfachvererbung in PHP implementieren wollen, müssen wir Schnittstellen verwenden. Schnittstellen können als Lösung für die Mehrfachvererbung angesehen werden. Die objektorientierte Schnittstelle von PHP ähnelt anderen objektorientierten Sprachschnittstellen.

Syntaxeinführung von Schnittstellenklassen:

Schnittstellenklassen werden über das Schlüsselwort interface deklariert, und die Klasse kann nur nicht implementierte Methoden und einige Mitgliedsvariablen enthalten. Das Format lautet wie folgt:

interface InterfaceName{
function interfaceName1(){
}
function interfaceName2(){
}
}
Nach dem Login kopieren

Hinweis:

Verwenden Sie keine anderen Schlüsselwörter als public, um Klassenmitglieder in der Schnittstelle zu ändern. Für Methoden ist es in Ordnung, keine Schlüsselwörter zu schreiben. Dies wird durch die Eigenschaften der Schnittstellenklasse selbst bestimmt.

Syntax-Einführung von Unterklassen:

Unterklassen implementieren Schnittstellen über das Schlüsselwort „implements“. Wenn Sie mehrere Schnittstellen implementieren möchten, sollten Sie diese durch Kommas trennen. Und alle nicht implementierten Methoden in der Schnittstellenklasse müssen in der Unterklasse implementiert werden, sonst tritt ein schwerwiegender Fehler auf.

Format der Unterklassendefinition:

class SubClass implements InterfaceName1, InterfaceName2{
function InterfaceName1(){
}
function InterfaceName2(){
}
}
Nach dem Login kopieren

Über Schnittstellenklasseninstanzen:

<?php
header("content-type:text/html;charset=utf-8");
interface A{                                //创建接口
function a();
}
interface B{
function b();
}
class Php implements A{
function a()
{
echo &#39;php中文网&#39;;
}
}
class Html implements A , B{
function a()
{
echo &#39;PHP中文网是免费网站&#39;;
}
function b()
{
echo &#39;PHP中文网网址是m.sbmmt.com&#39;;
}
}
$php = new Php();
$html = new html();
$php ->a();
echo &#39;<br/>&#39;;
$html ->a();
$html ->b();
Nach dem Login kopieren

Alle nicht implementierten Methoden in der Schnittstellenklasse müssen „Alle“ sein werden in Unterklassen implementiert, andernfalls kommt es zu einem schwerwiegenden Fehler. Sie können versuchen, einige der Klassen in der Schnittstelle selbst zu implementieren, um zu sehen, ob schwerwiegende Fehler auftreten.

Das obige ist der detaillierte Inhalt vonPHP-objektorientierte Mehrfachvererbung und Schnittstellennutzung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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