Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die Unterschiede zwischen abstrakten Klassen und Schnittstellen in PHP?

Was sind die Unterschiede zwischen abstrakten Klassen und Schnittstellen in PHP?

王林
王林Original
2020-11-05 14:10:161809Durchsuche

Die Unterschiede zwischen abstrakten Klassen und Schnittstellen in PHP sind: 1. Abstrakte Klassen können Attribute und gewöhnliche Methoden haben, während Schnittstellen keine Attribute und gewöhnlichen Methoden haben können. 2. Abstrakte Klassen müssen nicht unbedingt abstrakte Methoden haben und Schnittstellen müssen abstrakte Methoden haben 3. Abstrakte Methoden abstrakter Klassen müssen als abstrakt deklariert werden, Schnittstellen jedoch nicht.

Was sind die Unterschiede zwischen abstrakten Klassen und Schnittstellen in PHP?

Die Ähnlichkeiten zwischen abstrakten Klassen und Schnittstellen:

(Empfohlenes Video: Java-Video-Tutorial)

1. Sie werden beide verwendet, um eine bestimmte Sache zu deklarieren, Namen und Parameter zu standardisieren und Module detailliert zu bilden Details zur Implementierung.

2. Relevante Details werden alle durch Klassen implementiert

3 Grammatisch sind die abstrakten Methoden die gleichen wie Schnittstellen und können keine Methodenkörper haben, d. h. es können {{}-Symbole verwendet werden , und Schnittstellen können abstrakte Klassen erben, um neue abstrakte Klassen zu bilden:

1 Abstrakte Klassen können Attribute, allgemeine Methoden und abstrakte Methoden haben haben Attribute. , gewöhnliche Methoden, können Konstanten haben

2 Es gibt möglicherweise keine abstrakten Methoden in Schnittstellen

3 Es gibt Unterschiede in der Syntax

4 Das Schlüsselwort abstract steht vor der Klassendeklaration und die Klasse wird als Klasse deklariert. Die Schnittstelle wird mit Schnittstelle deklariert, kann jedoch nicht mit Klasse deklariert werden, da die Schnittstelle keine Klasse ist.

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

6 sein. Eine abstrakte Klasse verwendet das Schlüsselwort „extends“, um der Unterklasse zu ermöglichen, die übergeordnete Klasse zu erben und diese dann zu implementieren detaillierte abstrakte Methode in der Unterklasse. 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 einfach Kommas, um jede Schnittstelle zu trennen

Ihre jeweiligen Eigenschaften:

In abstrakten Klassen gibt es möglicherweise keine Zusammenfassung Methoden, aber Klassen mit abstrakten Methoden müssen abstrakte Klassen sein

In einer abstrakten Klasse können sie nicht instanziiert werden, auch wenn sie alle konkrete Methoden sind. Nur durch Erstellen einer neuen zu erbenden Klasse kann die Instanz die Klasse erben

Schnittstellen können dies zulassen Eine Klasse implementiert mehrere verschiedene Methoden gleichzeitig. Die Schnittstelle selbst ist abstrakt. Beachten Sie jedoch, dass es sich nicht um eine abstrakte Klasse handelt, da die Schnittstelle keine Klasse ist, ihre Methoden jedoch abstrakt sind. Daher ist es auch abstrakt.

Verwandte Empfehlungen:

php-Training

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede 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