41、PHP面向对象中的接口interface

阅读() @2018-10-29 18:16:06

接口的概念:

一个类里边的所有方法都是抽象方法,这些抽象方法都必须要重写,那么这个类就叫做接口(interface),接口里边的抽象方法前面“不需要”加abstract,并且没有属性,用implements来实现接口!

代码如下:

//定义一个类【模特】
interface Model{
	function height();
	function sex();
	function weight();
}
//男模特
class Man implements Model{
	function height(){
	
	}
	function sex(){
	
	}
	function weight(){
	
	}
}
//女模特
class Woman implements Model{
	function height(){
	
	}
	function sex(){
	
	}
	function weight(){
		echo '我的身高是180cm';
	}
}
$woman = new Woman();
$woman->weight();

注意:接口内部的抽象方法一定不能带方法体!

继承特性简化了对象、类的创建,增加了代码的可重性,但PHP只支持单继承,如果想实现多重继承,就要用到接口,PHP可以实现多个接口

interface A{
	function showA();
}
interface B{
	function showB();
}
//多重继承(一个类同时继承A、B两个类)
class SonClass implements A,B{
	public function showA(){
		echo '继承并重写showA<br/>';
	}
	public function showB(){
		echo '继承并重写showB<br/>';
	}
}
$son = new SonClass();
$son->showA();
$son->showB();

注意:不要用public以外的关键字修饰接口中的类成员,对于方法,不写关键字也可以,这是由接口类自身的属性决定的!

微信二维码
锐壳主机