PHP接口
27
2014-01-27
抽象类是一种特殊的类,接口是一种特殊的抽象类。
1、抽象类和接口中都有抽象方法。
2、抽象类和接口都不能创建实例对象。
3、抽象类和接口的使用意义相同:定义一种规范。
接口和抽象类相比,特殊在哪里?
1、接口中的方法必须全部是抽象方法。不能有不是抽象方法的方法。所以在接口中的抽象方法不需要使用abstract
。
2、接口中的成员属性必须是常量,不能有变量。
3、所有的权限必须是公有的(public)。
4、声明接口,不使用class
,而是interface
。
接口的使用细则
1、接口可以使用extends
,让一个接口继承另一个接口。
接口与接口,只是扩展抽象方法,没有覆盖(重写、实现)的关系。
2、可以使用一个类来实现接口中的全部方法,也可以使用一个抽象类来实现接口中的部分方法。
类与接口、抽象类与接口,有覆盖(重写、实现)的关系,实现接口中的一些或者全部的抽象方法。
3、有覆盖的关系,不能使用extends
关键字,只能使用implements
关键字。
extends
,继承、扩展的意思,在PHP中只能有一个父类。
4、一个类可以在继承一个父类的同时,使用implements
实现多个接口。(先继承再实现)
PHP实现多个接口,使用逗号分隔即可。
interface Demo { const name = 'xxx'; const age = 26; function test(); function test2(); } interface Test extends Demo { function test3(); } interface Abc { function test5(); } class World { function test4() {} } class Hello extends World implements Test,Abc { function test(){ echo 'test
';} function test2(){} function test3(){} function test4(){} function test5(){} } $h = new Hello; $h->test(); /* 打印结果: test */
本文由 猫斯基 原创发布。
著作权均归用户本人所有。独家文章转载,请联系本站管理员。获得授权后,须注明本文地址! 本文地址:https://www.maosiji.com/2568.html