介绍接口之前,我们要知道,为什么要使用接口,这里向大家介绍一下。
那为什么要使用接口呢?
计算机语言中,只有少数的面向对象支持多重继承,我们所学习的PHP语言和大多数语言一样,并不支持多重继承。说白了就是一个父类可以有多个子类,但是子类只能有一个父类。
什么又是多重继承呢?
多重继承就是一个子类,继承了两个或多个父类,就是多重继承,在PHP中是不被允许的。如果要在PHP中实现多重继承功能,那么,我们就要用到接口。接口可以看成是解决多重继承的方法,PHP的面向对象的接口和其他面向对象语言接口类似。
接口类的语法介绍:
接口类是通过interface关键字来声明,并且类中只能包含未实现的方法和一些成员变量,格式如下:
interface InterfaceName{ function interfaceName1(){ } function interfaceName2(){ } }
注意:
不要用public以外的关键字来修饰接口中的类成员,对于方法,不写关键字也是可以的。这是由接口类自身的属性决定的。
子类的语法介绍:
子类是通过inplements关键字来实现接口的,如果要实现多个接口,那么每个接口之间应该使用逗号隔开。且接口类中所有未实现的方法需要在子类中全部实现,否则会出现致命错误。
子类定义格式:
class SubClass implements InterfaceName1, InterfaceName2{ function InterfaceName1(){ } function InterfaceName2(){ } }
关于接口类实例:
<?php header("content-type:text/html;charset=utf-8"); interface A{ //创建接口 function a(); } interface B{ function b(); } class Php implements A{ function a() { echo 'php中文网'; } } class Html implements A , B{ function a() { echo 'PHP中文网是免费网站'; } function b() { echo 'PHP中文网网址是www.php.cn'; } } $php = new Php(); $html = new html(); $php ->a(); echo '<br/>'; $html ->a(); $html ->b();
接口类中所有未实现的方法需要在子类中全部实现,否则会出现致命错误。大家可以亲自尝试一下部分实现接口中的类,看看会不会出现致命错误。
以上是PHP面向对象之多重继承与接口用法的详细内容。更多信息请关注PHP中文网其他相关文章!