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