1.7 接口(interface)
1.7.1 接口
- 如果一個類中所有的方法是都是抽象方法,那麼這個抽象類可以聲明成接口
- 接口是一個特殊的抽象類,接口中隻能有抽象方法和常量
- 接口中的抽象方法隻能是public,可以省略,預設也是public的
- 通過implements關鍵字來實作接口
- 不能使用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() {
}
}
class Student extends Person implements IPIc1,IPic1{
}