Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen PHP-Schnittstelle und abstrakter Klasse?

Was ist der Unterschied zwischen PHP-Schnittstelle und abstrakter Klasse?

Guanhui
GuanhuiOriginal
2020-07-18 14:45:392461Durchsuche

Was ist der Unterschied zwischen PHP-Schnittstelle und abstrakter Klasse?

Was ist der Unterschied zwischen PHP-Schnittstelle und abstrakter Klasse?

1. Abstrakte Klassen können Attribute, gewöhnliche Methoden und abstrakte Methoden haben, aber Schnittstellen können keine Attribute, gewöhnlichen Methoden und Konstanten haben

2. Abstrakte Klassen haben möglicherweise keine abstrakte Methoden. , aber es müssen „abstrakte“ Methoden in der Schnittstelle vorhanden sein

3. Die Syntax ist anders

4 Die abstrakte Klasse wird vor der Klasse mit dem Schlüsselwort abstract deklariert Klasse wird als Klasse oder Schnittstelle deklariert. Sie wird mit Schnittstelle deklariert, kann aber nicht mit Klasse deklariert werden, da Schnittstelle keine Klasse ist.

5. Die abstrakte Methode einer abstrakten Klasse muss mit abstract deklariert werden, die Schnittstelle muss jedoch nicht

6 sein Die übergeordnete Klasse implementiert detaillierte abstrakte Methoden. Schnittstellen verwenden Implementierungen, um es gewöhnlichen Klassen zu ermöglichen, detaillierte Methoden von Schnittstellen in Klassen zu implementieren, und Schnittstellen können mehrere Methoden gleichzeitig implementieren. Verwenden Sie Kommas, um jede Schnittstelle zu trennen

PHP-Schnittstellen und abstrakte Klassen Ähnliche Punkte

1. Sie werden alle verwendet, um eine bestimmte Sache zu deklarieren, den Namen und die Parameter zu standardisieren und ein Modul zu bilden. Es gibt keine detaillierten Implementierungsdetails.

2. Relevante Detailarbeit wird durch Klassen implementiert

3 Grammatisch gesehen ist die abstrakte Methode einer abstrakten Klasse dasselbe wie eine Schnittstelle und kann keinen Methodenkörper haben, d. h. die {. {} Symbol

4. Schnittstellen können verwendet werden, um neue Schnittstellen zu bilden, und abstrakte Klassen können abstrakte Klassen erben, um neue abstrakte Klassen zu bilden >PHP

"


Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen PHP-Schnittstelle und abstrakter Klasse?. 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