Klassen in php
erlauben keine mehrfache Vererbung
, aber interface
kann mehrfache Vererbung
. Zweitens kann Encapsulation spezifische Implementierung, legt keine spezifischen Implementierungsdetails nach außen offen, sondern legt nur die Schnittstelle
offen, und Benutzer können nur über die Schnittstelle
darauf zugreifen Es gibt auch ein gewisses Maß an Sicherheit. php
中的类是不允许多继承
的,而接口
可以多继承
,其次使用接口可以封装
具体的实现,不向外部暴露具体的实现细节,只将接口
暴露出来,用户也只能够通过接口
访问,这样也有一定的安全性。
1.定义:接口,使用interface
关键字定义,与类类似,专门用来规范一些共性类必须实现的方法。
interface People{}
2.接口实现:接口是用来规范类必须完成的事情,所以接口只能被类实现:implements
。(不允许实例化)
class Man implements People{}
3 .接口成员:接口中只能定义公有抽象方法
和接口常量
interface Animal{ const NAME = '人';//只允许有接口常量 public function eat();//接口方法必须为公有抽象方法 }
4.接口的实现类必须实现所有的抽象方法
,或者实现类为抽象类
,接口常量
可以直接在实现类中访问
interface Animal{ const NAME = '人'; public function eat(); } //实现接口 class Man implements Animal{ //必须实现接口所有抽象方法 public function eat(){ echo self::NAME; //可以访问接口常量 } } //抽象类实现接口 abstract class Ladyboy implements Animal{} //正常实现
5.实现接口的类成员
,不允许重写接口中的常量,不允许增加接口方法的控制权限
interface Animal{ const NAME = '人'; public function eat(); } class Woman implements Animal{ //重写接口常量 const NAME = '女人'; //错误:不允许重写接口常量 //强化接口方法控制 private function eat(){} //错误:接口方法不允许使用其他访问修饰限定符,必须使用public }
6.接口可以继承接口:extends
1. Definition
interface
, ähnelt einer Klasse und wird speziell zur Standardisierung der Methoden verwendet, die von einigen gängigen Klassen implementiert werden müssen. interface Plant{ public function lightning(); } interface Animal{ public function eat(); } //单继承 interface Man extends Animal{} //多继承 interface Apple extends Plant,Animal{}
implements
. (Instanziierung ist nicht zulässig) 🎜rrreee🎜 🎜3. Schnittstellenmitglieder🎜: In der Schnittstelle können nur öffentliche abstrakte Methoden
und Schnittstellenkonstanten
definiert werden Die Klasse muss alle 🎜Abstrakte Methoden
implementieren, 🎜oder die Implementierungsklasse ist 🎜Abstrakte Klasse
, 🎜Schnittstellenkonstanten
können direkt in der Implementierungsklasse aufgerufen werden 🎜 🎜rrreee🎜 🎜 5. 🎜Klassenmitglieder
, die die Schnittstelle implementieren, 🎜dürfen die Konstanten in der Schnittstelle nicht neu schreiben und die Kontrollrechte der Schnittstellenmethoden nicht erhöhen🎜🎜rrreee 🎜 🎜 6. Die Schnittstelle kann die Schnittstelle erben🎜: extends
, 🎜Und die Schnittstelle kann mehrere Schnittstellen erben🎜🎜rrreee🎜Empfohlen: 🎜php-Video-Tutorial🎜🎜Das obige ist der detaillierte Inhalt vonMaverick Outsider – Schnittstelle in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!