接口定义了实现某种服务的一般规范,声明了所需的函数和常量,但不指定如何实现。 之所以不给出实现的细节,是因为不同的实体可能需要用不同的方式来实现公共的方法定 义。关键是要建立必须实现的一组一般原则,只要满足了这些原则才能说实现了这个接口。
规则: 1.类全部为抽象方法(不需要声明abstract) 2.接口抽象方法必须是public 3.成员(字段)必须是常量
<?php
//到底应该用抽象类还是接口呢
//如果你要继承多个类的方法规范,那么就用接口好了。
//如果你要共享一个方法体内容,那么就用抽象类。
//创建一个接口
//接口也不能被实例化
//接口是为了规范实现它的子类,以达到统一的目的。也可以共享数据
interface Computer {
//成员字段必须是常量
const NAME = '联想';
//接口里的所有方法都是抽象方法,不能够写方法体
//并且接口的抽象方法不需要写abstract
public function _run();
public function _run2();
}
interface Computer2 {
public function _run3();
}
//子类继承接口的说话,叫做实现,接口可以多实现
class NoteComputer implements Computer,computer2 {
public function _run() {
echo '我重写了run';
}
public function _run2() {
echo '我重写了run2';
}
public function _run3() {
}
}
$notecomputer = new NoteComputer();
$notecomputer->_run();
//接口::常量
//echo Computer::NAME;
?>