PHP接口

猫斯基  — PHP


抽象类是一种特殊的类,接口是一种特殊的抽象类。

1、抽象类和接口中都有抽象方法。

2、抽象类和接口都不能创建实例对象。

3、抽象类和接口的使用意义相同:定义一种规范。

接口和抽象类相比,特殊在哪里?

1、接口中的方法必须全部是抽象方法。不能有不是抽象方法的方法。所以在接口中的抽象方法不需要使用abstract

2、接口中的成员属性必须是常量,不能有变量。

3、所有的权限必须是公有的(public)。

4、声明接口,不使用class,而是interface

接口的使用细则

1、接口可以使用extends,让一个接口继承另一个接口。

接口与接口,只是扩展抽象方法,没有覆盖(重写、实现)的关系。

2、可以使用一个类来实现接口中的全部方法,也可以使用一个抽象类来实现接口中的部分方法。

类与接口、抽象类与接口,有覆盖(重写、实现)的关系,实现接口中的一些或者全部的抽象方法。

3、有覆盖的关系,不能使用extends关键字,只能使用implements关键字。

extends,继承、扩展的意思,在PHP中只能有一个父类。

4、一个类可以在继承一个父类的同时,使用implements实现多个接口。(先继承再实现)

实现多个接口,使用逗号分隔即可。

/* 
 猫斯基 maosiji.com
 */
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<br>';}
	function test2(){}
	function test3(){}
	function test4(){}
	function test5(){}
}

$h = new Hello;
$h->test();

/*
打印结果:
test
*/

阅读量:0 2021-02-03 23:29

返回顶部