interface 接口名称{
// 常量成员
// 抽象方法
}
<?php
interface Demo{
const NAME = 'C语言中文网';
const URL = 'http://c.biancheng.net/php/';
function fun1();
function fun2();
}
echo Demo::NAME.'<br>';
echo Demo::URL;
?>
运行结果如下:
C语言中文网
http://c.biancheng.net/php/
,分隔。
class 类名 extends 父类名 implements 接口一, 接口二, ..., 接口 n {
// 实现所有接口中的抽象方法
}
<?php
interface Demo{
const NAME = 'C语言中文网';
const URL = 'http://c.biancheng.net/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://c.biancheng.net/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();
}
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有