中山php|最优网络中山做网站 中山php建站

最优良人

2011/08/14 at 02:25

PHP面向对象之抽象类与接口

定义抽象类使用abstract关键字,主要用于定义规范,其函数必须被继承的子类全部重载后才能实例化,重载不全会报错

abstract class AbClass{

abstract function a1();
abstract function a2();
}

class AbSonClass extends AbClass{

//全部重载父类方法

function a1(){

echo "抽象方法1";
}
function a2(){

echo "抽象方法2";
}
}

接口和抽象类非常相似,接口的引用,可以多引用,通过关键字implements 引用,全部为抽象方法,在引用它的子类里面也必须全部覆盖所有方法

interface InClass{

function in1();
function in2();
}

//先继承后引用

class InSonClass extends MyClass implements InClass{

//全部重载父接口方法
function in1(){

echo "抽象方法1";
}
function in2(){

echo "抽象方法2";
}

}

接口和抽象类的区别:

接口可以同时引用多个,而抽象类只能继承一个

接口里面的方法全部为抽象方法,且不能有实现代码,而抽象类的方法可以有实现代码

标签:, ,
-