一,接口概述。
接口是一种特殊的抽象类。抽象类又是一种特殊的类。
抽象类的作用和接口是一样的。
在PHP5中继承性表现为单继承,如果使用抽象类,子类实现完抽象类后就不能再继承其他的类。
所以:如果既想实现一些规范(抽象类),又想继承其他的类,就要使用接口---》即实现多重继承。
二,接口和抽象类的对比。
1,作用一致,都不能实例化对象,需要子类去实现。
2,接口的声明和抽象类是不一样的。
3,接口被实现的方式不一样。
4,接口中的所有方法均为抽象方法(不需要abstract关键字修饰。) 只能声明抽象方法。
5,接口中的成员属性只能为常量,不能是变量。
6,接口中的成员访问权限都必须是public。而抽象类中最低的权限也必须是protected。
7,使用一个类去实现接口,使用关键字implements。
8,可以使用抽象类去实现接口中的部分方法。如果想让子类可以创建对象,则必须实现接口中的全部方法。
9,如果子类是重写父类接口中的抽象方法,则使用关键字implements修饰类。
类--------接口(抽象类-----------接口)--------------》implements
接口-------接口------------》extends(可以定义一个接口去实现另外一个接口)
10,可以使用一个类去实现多个接口(按多个规范去开发子类)
三,接口的声明方式:interface 接口名{
抽象方法或者常量
}
接口可以使用----------------接口名::常量名--------------来访问。
四,接口的继承:class test implements 接口名[,接口名1,...接口名n]{
成员属性(方法)
}
五,extends和implements的区别
1,implements可以实现多个借口,而extends智能继承一个父类。
2,使用implements可是使一个类在继承一个类的同时,去实现一个或多个接口。(先继承,后实现接口)
例子:class test extends aaa implements bbb,demo,ccc{
成员方法,属性
}
六,什么是多态。
多态是面向对象的三大特性之一,展现了动态绑定的功能。也称为“同名异式”。多态的功能让软件在开发和维护时,达到充分的延伸性。事实上,多态最直接的定义就是让具有继承关系的不同类对象,可以对相同名称的成员函数调用,产生不同的反应效果。