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; 输出常量。
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!