Heim > Artikel > Backend-Entwicklung > Schnittstelle in PHP
* Schnittstelle
* 1. Verwenden Sie Schlüsselwörter: Schnittstelle
* 2. Klasse ist die Vorlage des Objekts und die Schnittstelle ist die Vorlage der Klasse
* 3. Schauen Sie sich die Schnittstelle an. Es handelt sich um eine spezielle Klasse
* 4. Die Methoden in der Schnittstelle werden nur deklariert, aber nicht implementiert, genau wie abstrakte Klassen
* 5. Die Methoden in Die Schnittstelle muss öffentlich sein und Statik unterstützen
* 6. Klassenkonstanten const können in der Schnittstelle deklariert werden, dürfen aber nicht von Klassen oder Unterschnittstellen überschrieben werden
* 7. Verwenden Sie das Schlüsselwort „implements“, um eine Schnittstelle mit einer Klasse
* 8 zu implementieren. Eine Klasse kann mehrere Schnittstellen implementieren, getrennt durch Kommas
* 9. Das Schlüsselwort „extends“ kann auch zum Erben zwischen Schnittstellen verwendet werden
* 10. Eine Klasse kann mehrere Schnittstellen haben. Bei Verwendung einer Schnittstelle dürfen Methoden nicht denselben Namen haben.
//Deklarieren Sie die Schnittstelle: Animal
if (!interface_exists('Animal')) { interface Animal { //接口常量 const status = 'viable'; //能存活的 //接口方法:饲养时吃什么 public function feeding($foods); } } //声明类Cat,并实现接口Animal if (interface_exists('Animal')) { class Cat implements Animal { private $name = '猫'; //在类中必须实现接口中的方法feeding() public function feeding($foods) { return $this->name.'吃'.$foods; } } } //实例化Dog类, echo (new Cat())->feeding('老鼠'); echo '<hr>'; //再定义一个接口:动物的特性 if (!interface_exists('Feature')) { interface Feature { //接口方法 public function hobby($hobby); } } //声明一个类Dog,实现了二个接口: Animal,Feature if (interface_exists('Animal') && interface_exists('Feature')) { class Dog implements Animal, Feature { private $name = '狗'; //必须实现接口Animal中的feeding()方法 public function feeding($foods) { // return $this->name.'吃'.$foods; //改成链式 echo $this->name.'吃'.$foods; return $this; } //必须实现接口Feature中的hobby()方法 public function hobby($hobby) { // return $hobby; //改成链式 echo $hobby; return $this; } } }
//Instanziieren Sie die Hundeklasse
echo (new Dog())->feeding('肉'); echo (new Dog())->hobby('忠诚,勇敢,不离不弃~~');
//Überlegen Sie, wie Sie die beiden oben genannten kombinieren können. Ändern Sie einen Methodenaufruf in eine Kette?
//Hinweis: Kommentieren Sie zuerst die obige Instanziierungsaufrufanweisung aus, andernfalls die folgende Kette Anruf wird nicht wirksam
(new Dog)->feeding('骨头')->hobby(',可爱,温顺,听话~~');
Das obige ist der detaillierte Inhalt vonSchnittstelle in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!