接口的概念:
一个类里边的所有方法都是抽象方法,这些抽象方法都必须要重写,那么这个类就叫做接口(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
';
}
public function showB(){
echo '继承并重写showB
';
}
}
$son = new SonClass();
$son->showA();
$son->showB();
注意:不要用public以外的关键字修饰接口中的类成员,对于方法,不写关键字也可以,这是由接口类自身的属性决定的!