1.接口的介绍与创建
接口:一种成员属性全部为抽象或常量的特殊抽象类。
规则:
1.类中全部为抽象方法。即不需要写具体功能实现代码,只需要定义相关方法。
2.抽象方法钱不用加abstract。
3.接口抽象方法属性为public。
4.成员属性必须为常量。
格式代码如下:
interface demo { const NAME ="常量对象属性"; public function fun1(); public function fun2();//抽象方法。 }
2.接口的应用与规范
接口引用区别于类继承关键字 extends ,继承只能只是单一性,而接口可以使用关键字 implements 多个引用并用逗号分开.
1.格式:普通类引用接口
classMyPcimplements demo , demo2 , demo3 { ... }
2.格式:抽象类应用接口例子
abstractclassMyPcimplements demo , demo2 , demo3 { ... }
3.格式:继承父类引用接口并存
classMyPcextendsRootimplements demo , demo2 , demo3 { ... }
先继承后接口,单继承多接口。
4.格式:接口与接口的继承
interface demo3 extends demo { ... }
接口是特殊的抽象类,也可以看做是一个模型的规范。
接口与抽象类大致区别如下:
1.一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。
2.如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名; 而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。
3.抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。