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

王林
Freigeben: 2023-04-07 19:00:01
Original
2187 Leute haben es durchsucht

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

Die Ähnlichkeiten zwischen Schnittstellen und abstrakten Klassen:

1 Sowohl abstrakte Klassen als auch Schnittstellen haben abstrakte Methoden

2. Abstrakte Klassen und Schnittstellen können keine Instanzobjekte erstellen

3. Abstrakte Klassen und Schnittstellen haben die gleiche Bedeutung (definieren Sie eine Spezifikation)

Der Unterschied zwischen Schnittstellen und abstrakten Klassen:

1. Alle Methoden in der Schnittstelle müssen abstrakte Methoden sein (nicht abstrakte Methoden können nicht verwendet werden). Verwenden Sie daher nicht abstract in allen Methoden der Schnittstelle und enden Sie direkt mit Semikolons

2, Die Mitgliedsattribute in der Schnittstelle müssen Konstanten sein (können keine Variablen haben)

3 Alle Berechtigungen der Schnittstelle müssen öffentlich sein (public)

4 nicht verwendet class , verwenden Sie interface

interface Person{
 public $name; //不能声明变量 报错
  const NAME='tom'// 可以声明常量
 function test();  //因为接口中全部是抽象方法 所以 省去 abstract 。
 function test1();
Protect function test3() 报错 只可以是 public
}
$re=new Person; //报错 不可以 创建实例化 对象 。
echo Person:: NAME; 输出常量。
Nach dem Login kopieren

Empfohlenes Tutorial: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Gemeinsamkeiten und Unterschiede zwischen Schnittstellen und abstrakten Klassen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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