Heim > Artikel > Backend-Entwicklung > PHP, was ist eine Schnittstelle?
PHP-Schnittstelle
Mit der Schnittstelle können Sie angeben, welche Methoden eine Klasse implementieren muss, aber die Der spezifische Inhalt dieser Methoden muss nicht definiert werden.
Eine Schnittstelle wird über das Schlüsselwort interface definiert, genau wie die Definition einer Standardklasse, aber alle darin definierten Methoden sind leer.
Alle in der Schnittstelle definierten Methoden müssen öffentlich sein. Dies ist eine Eigenschaft der Schnittstelle. (Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Beherrschung)
Implementierungen (Implementierungen)
Um eine Schnittstelle zu implementieren, verwenden Sie die Implementierungen Betriebssymbol. Die Klasse muss alle in der Schnittstelle definierten Methoden implementieren, andernfalls wird ein schwerwiegender Fehler gemeldet. Eine Klasse kann mehrere Schnittstellen implementieren. Verwenden Sie Kommas, um die Namen mehrerer Schnittstellen zu trennen.
Hinweis:
Bei der Implementierung mehrerer Schnittstellen dürfen Methoden in den Schnittstellen nicht denselben Namen haben.
Hinweis:
Schnittstellen können auch vererbt werden, indem der Extens-Operator verwendet wird.
Hinweis:
Um eine Schnittstelle zu implementieren, muss eine Klasse die in der Schnittstelle definierten Methoden auf genau die gleiche Weise verwenden. Andernfalls kommt es zu einem schwerwiegenden Fehler.
Schnittstelleninstanz
<?php // 声明一个'iTemplate'接口 interface iTemplate { public function setVariable($name, $var); public function getHtml($template); } // 实现接口 // 下面的写法是正确的 class Template implements iTemplate { private $vars = array(); public function setVariable($name, $var) { $this->vars[$name] = $var; } public function getHtml($template) { foreach($this->vars as $name => $value) { $template = str_replace('{' . $name . '}', $value, $template); } return $template; } } // 下面的写法是错误的,会报错,因为没有实现 getHtml(): // Fatal error: Class BadTemplate contains 1 abstract methods // and must therefore be declared abstract (iTemplate::getHtml) class BadTemplate implements iTemplate { private $vars = array(); public function setVariable($name, $var) { $this->vars[$name] = $var; } } ?>
Das obige ist der detaillierte Inhalt vonPHP, was ist eine Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!