인터페이스를 사용하면 클래스가 구현해야 하는 메서드를 지정할 수 있지만 이러한 메서드의 특정 내용을 정의할 필요는 없습니다.
인터페이스는 표준 클래스 정의와 마찬가지로 인터페이스 키워드를 통해 정의되지만, 그 안에 정의된 메소드는 모두 비어 있습니다.
인터페이스에 정의된 모든 메서드는 공용이어야 합니다. 이는 인터페이스의 특성입니다. (추천 학습: PHP 프로그래밍 입문부터 숙련까지
)implements #🎜🎜 #구현하려면 인터페이스를 사용하려면 Implements 연산자를 사용하세요. 클래스는 인터페이스에 정의된 모든 메서드를 구현해야 합니다. 그렇지 않으면 치명적인 오류가 보고됩니다. 클래스는 여러 인터페이스를 구현할 수 있습니다. 쉼표를 사용하여 여러 인터페이스의 이름을 구분하세요.
참고: 여러 인터페이스를 구현할 때 인터페이스의 메서드는 동일한 이름을 가질 수 없습니다.
참고:
인터페이스는 확장 연산자를 사용하여 상속될 수도 있습니다.
참고:
인터페이스를 구현하려면 클래스는 인터페이스에 정의된 메서드를 정확히 동일한 방식으로 사용해야 합니다. 그렇지 않으면 치명적인 오류가 발생합니다.
인터페이스 인스턴스
<?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; } } ?>
위 내용은 PHP 인터페이스 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!