接口与抽象类的相同点:
1、抽象类和接口都有抽象方法
2、抽象类和接口不能创建实例对象
3、抽象类和接口使用意义相同(定义一种规范)
接口与抽象类的不同点:
1、接口中的方法必须全要是抽象方法(不能用不抽象的方法),所以在接口的所有方法中不使用abstract
,直接使用分号结束
2、接口中的成员属性,必须是常量(不能有变量)
3、接口所有权限必须是公有的(public
)
4、声明接口不使用class
,使用interface
1
2
3
4
5
6
7
8
9
|
interface Person{
public $name ;
const NAME= 'tom'
function test();
function test1();
Protect function test3() 报错 只可以是 public
}
$re = new Person;
echo Person:: NAME; 输出常量。
|