1.7 接口(interface)

1.7.1 接口


  1. 如果一个类中所有的方法是都是抽象方法,那么这个抽象类可以声明成接口
  2. 接口是一个特殊的抽象类,接口中只能有抽象方法和常量
  3. 接口中的抽象方法只能是public,可以省略,默认也是public的
  4. 通过implements关键字来实现接口
  5. 不能使用abstract和final来修饰接口中的抽象方法。

<?php
//声明接口
interface IPerson {
const ADD='中国';
function fun1();
function fun2();
}
//接口实现
class Student implements IPerson {
public function fun1() {

}
public function fun2() {

}
}
//访问接口中的常量
echo IPerson::ADD;

1.7.2 接口的多重实现

类不允许多重继承,但是接口允许多重实现。

<?php
interface IPic1 {
function fun1();
}
interface IPic2 {
function fun2();
}
//接口允许多重实现
class Student implements IPic1,IPic2 {
public function fun1() {

}
public function fun2() {

}
}

注意:

1、在接口的多重实现中,如果有同名的方法,只要实现一次即可

2、类可以继承的同时实现接口

class Student extends Person implements IPIc1,IPic1{

}