interface 接口名称{
// 常量成员
// 抽象方法
}
<?php interface Demo{ const NAME = 'C语言中文网'; const URL = 'http://task.lmcjl.com/php/'; function fun1(); function fun2(); } echo Demo::NAME.'<br>'; echo Demo::URL; ?>运行结果如下:
C语言中文网
http://task.lmcjl.com/php/
,
分隔。
class 类名 extends 父类名 implements 接口一, 接口二, ..., 接口 n {
// 实现所有接口中的抽象方法
}
<?php interface Demo{ const NAME = 'C语言中文网'; const URL = 'http://task.lmcjl.com/php/'; function fun1(); function fun2(); } class Website implements Demo{ public function fun1(){ echo self::NAME.'<br>'; } public function fun2(){ echo self::URL; } } $obj = new Website(); $obj -> fun1(); $obj -> fun2(); ?>运行结果如下:
C语言中文网
http://task.lmcjl.com/php/
提示:既然要通过子类继承了接口中的方法,那么接口中的所有方法都必须在子类中实现,否则 PHP 将抛出如下所示的错误信息:
Fatal error: Class Website contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Demo::fun2) ... ...
我们还可以使用 extends 关键字让一个接口去继承另一个接口,实现接口之间的扩展。在下面的示例中先定义一个接口 One,然后再定义一个接口 Two 来继承 One:
interface One{
function fun1();
function fun2();
}
interface Two extends One{
function fun3();
function fun4();
}
interface Demo{
function fun1();
function fun2();
}
abstract class Website implements Demo{
public function fun2(){
... ... ;
}
abstract function fun3();
}
本文链接:http://task.lmcjl.com/news/14278.html