Abstract Class与Interface区别

一、Abstract Class 与 Interface 的构造
抽象类 Abstract Class


接口 Interface


1)Abstract Class 中可以有抽象函数(method1,method2),也可以有具体的函数实现(method3),而 Interface 中只能定义函数而不能有实现(method4,method5)。显然,如果一个抽象类中的函数全部是抽象函数,那么这个抽象类就退化成了接口。

2)PHP 和 Java 一样,一个 Class 只能继承一个 Abstract Class,但可以实现多个 Interface。这即是所谓的单一继承体系,也就是子类别只能继承一个父类别;一个父类别则可以被多个子类别所继承。

3)在 Abstract Class 中可以声明属性成员变量(attribute),而 Interface 不可以。

你可能感兴趣的:(Abstract Class与Interface区别)