Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen abstrakten Klassen und Schnittstellen in PHP

Der Unterschied zwischen abstrakten Klassen und Schnittstellen in PHP

不言
不言Original
2018-04-19 15:22:342222Durchsuche

Dieser Artikel stellt hauptsächlich den Unterschied zwischen abstrakten Klassen und Schnittstellen in PHP vor. Jetzt kann ich ihn mit Ihnen teilen.

Der Unterschied zwischen abstrakten Klassen und Schnittstellen


Abstrakte Klasse:

  • Einzelne Vererbung, verwenden Sie das Schlüsselwort „extends“

  • kann konstante und variable Attribute haben

  • kann Konstruktormethoden haben

  • Methoden in abstrakten Klassen können die Schlüsselwörter public, static, private und protected verwenden

  • Die entsprechende Logik kann in Methoden implementiert werden

  • Abstrakte Methoden können keine Methodenkörper haben

Schnittstelle:

  • Mehrfachvererbung kann erreicht werden, indem die Schlüsselwörter „implementiert“ oder „extends“ zum Vererben verwendet werden.

  • kann Konstanten, aber keine Variablen haben

  • Es gibt keinen Konstruktor

  • Methoden werden im Allgemeinen mit dem öffentlichen Schlüsselwort

  • Nur ​​Methodenname, kein Methodenkörper

Weder abstrakte Klassen noch Schnittstellen können instanziiert werden

Der Unterschied zwischen abstrakten Klassen und Schnittstellen

Abstrakte Klasse:

  • Einzelne Vererbung unter Verwendung des Extens-Schlüsselworts

  • kann haben konstante und variable Attribute

  • können Konstruktoren haben

  • Methoden in abstrakten Klassen können verwendet werden öffentlich, statisch, privat, die Methode „protect“ des Schlüsselworts

  • kann die entsprechende Logik

  • abstrakte Methode Es kann keinen Methodenkörper geben

  • Schnittstelle:

  • Mithilfe der Implementierungen kann eine Mehrfachvererbung erreicht werden oder erweitert die Schlüsselwortvererbung

  • Kann Konstanten, aber keine Variablen haben

  • Kein Konstruktor

  • Methoden werden im Allgemeinen mit dem öffentlichen Schlüsselwort

  • Nur ​​Methodenname, keine Methode geändert Körper

  • Weder abstrakte Klassen noch Schnittstellen können instanziiert werden

Verwandte Empfehlungen:

Analyse des Unterschieds zwischen Redis und Memcache

Verwendung abstrakter Klassen und Schnittstellen in PHP

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen abstrakten Klassen und Schnittstellen in PHP. 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