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