PHP中抽象类与接口的概念及差异浅析
复制代码代码如下所示:抽象类:
抽象类定义抽象类
摘要功能KX();
......
}
函数AA扩展
方法抽象类
功能KX(){
echo'sdsf;
}
}
使用方法
AA =新AA;
AA -> KX(美元);
1。定义了一些子类必须充分实现这个抽象中所有方法的方法。
2。不从抽象类创建对象,其含义是它是扩展的。
3。抽象类通常有抽象方法,方法中没有括号。
抽象 4。方法不需要实现特定的功能和子类来完成。
5。当子类实现抽象类方法时,子类的可见性必须大于或等于抽象方法的定义。
6的方法。抽象类可以有参数,也可以是空的。
7。如果抽象方法有参数,那么子类的实现必须具有相同数量的参数。
这个定义是:
接口店{
公共功能购买($ GID);
公共功能卖($ GID);
摘要功能视图($ GID);
}
如果要使用接口,接口类必须以很少的方式定义(除抽象之外)。
如果这个方法在一个大项目中,不管其他人怎么做,但是他必须实现接口中的所有方法!
例:实现上述接口的方法
类baseshop实现店{
公共功能购买($ GID){
你给我买了身份证。GID美元。;
}
公共功能卖($ GID){
回声'你买和卖ID。GID美元。;
}
公共功能视图($ GID){
您浏览ID。GID美元。;
}
}
多个继承接口示例:
< PHP
接口staff_i1 { / / 1接口
压缩文件SetID()函数;
函数getID();
}
接口staff_i2 { / / 2接口
setName()函数;
getName()函数;
}
类员工实现staff_i1,staff_i2 {
私人身份证;
私有名称;
功能的压缩文件SetID($id){
此$;
}
函数getID(){
返回$;
}
功能集名称($name){
这个名字;
}
功能getName(){
返回$这个名称;
}
功能(otherfunc){ / /这是一个接口,该方法不存在
回声测试;
}
}
>
他们的差异:
1、抽象类中可以有一个非抽象的方法,而接口只能有一个抽象的方法。
2、一个类可以继承多个接口,一个类只能继承一个抽象类!
3、接口的使用是通过实现关键字实现的,抽象类是通过继承扩展关键字来实现的!