PHP接口(interface)定义和使用形式:
1、接口是比抽象类更抽象的某种“结构”——它其实不是类,但是跟类一样的某种语法结构,被称为接口。
接口中,只有2种内容(成员):常量,和抽象方法;
interface A{
const PI = 3.13;
function f2(); //这是一个抽象方法,无需使用abstract
}
1、是对“单继承”的语言设计特性对世界更为精确描述的“损失”的一个弥补。
1、interface A{
//这里定义接口常量,跟类常量完全一样
const P1 = 1;
const P2 = 2;
....
//这里定义接口方法,且只能是“抽象”方法(无需使用abstract)
function f1();
function f2($p1, $p2);
......
}
接口的使用分2种:
1,其他接口“继承”(extends)现有某个(或几个)接口——其实跟类的继承概念完全一样。
2,其他类,“实现”(implements)现有某个(或几个)接口——其实本质也是继承,只是被称为“实现”。
interface B extends A {
//这里是接口B的成员定义。。。。
}
class C implements A{ //这里,称为“C实现了接口A”
//这里是类C的成员定义。。。
}
多实现:
class C1 implements A1, A2, A3{.....} //假设A1,A2,A3是3个接口
即继承,又实现:
class C2 extends C1 implements B1, B2 {....}//假设B1,B2是3个接口
1、类实现接口的要求
所谓实现:其实就是指:将抽象的方法“做具体”——完成方法体。
则:
类实现接口,要求:
全部实现其所“实现”(implement)的接口中的所有抽象方法——即写成其方法体;
但:
如果类本身又是抽象类,就无此要求:可以去实现部分抽象方法,或都不实现。
1
