6、php interface 接口

interface 接口

使用接口(interface),可以指定继承类必须实现那些方法,方法必须都是共有,且不需要定义这些方法的具体内容
//声明接口
interface iTest{
	public function test(); //定义方法无需实现
	public function sayHi($username);
}
//实现接口
class Test1 implements iTest{
    //实现方法
	public function test(){
		echo 'this is a test<br/>';
	}
	public function sayHi($username){
		echo 'Say Hi to '.$username.'<br/>';
	}
}

实现多个接口

interface iA{
	public function test00();
}
interface iB{
	public function test11();
}
interface iC{
	public function test22();
}
//集成多个接口
class Test2 implements iA,iB,iC{
	public function test00(){
		echo '00000<br/>';
	}
	public function test11(){
		echo '11111<br/>';
	}
	public function test22(){
		echo '22222<br/>';
	}
}

###也可以一个类集成另外一个类,再集成多个接口

class Parent1{
	public function hello(){
		echo 'hello parent<br/>';
	}
}
class Child1 extends Parent1 implements iA,iB{
	public function test00(){
		echo 'qqqq<br/>';
	}
	public function test11(){
		echo 'wwwww<br/>';
	}
}


//接口可以继承另外的接口,可以继承多个接口
interface iD extends iA,iB,iC{
	const PI=3.14;
	const COUNTY='China';
	public function test33();
}
class Test3 implements iD{
	public function test33(){
		echo 'this is a test33...<br/>';
	}
	public function test00(){
		echo '00000a<br/>';
	}
	public function test11(){
		echo '11111b<br/>';
	}
	public function test22(){
		echo '22222c<br/>';
	}
}