接口的具体语法
1、以人类为例,class Human是人的草图,而接口是零件,可以用多种零件组合出一种新特种来
2、接口本身即是抽象的,内部声明的方法,默认也是抽象的,不用加abstract
3、一个类可以实现多个接口
语法用 implements 实现 (把我这几个功能实现了)
class ClassName implements interface1,interface2,interface3 {
}
然后再把接口的功能给实现.
4、 接口也可以继承, 用extends
5、接口是一堆方法的说明,不能加属性
6、接口就是供组装成类用的,封闭起来没有意义,因此方法只能是public
类的继承
interface animal {
protected function eat();
}
interface monkey extends animal {
public function run();
public function cry();
}
interface wisdom {
public function think();
}
interface bird extends animal{
public function fly();
}
错误示例
//这段代码出错,monkey类继承了aniaml接口,因此必须把eat()给实现了
class Human implements monkey,wisdom {
public function run() {
echo '走';
}
public function cry() {
echo '哭';
}
public function think() {
echo '思考';
}
}
正确示例
class Human implements monkey,wisdom {
public function eat() {
echo '吃';
}
public function run() {
echo '走';
}
public function cry() {
echo '哭';
}
public function think() {
echo '思考';
}
}