本文分析了PHP中抽象类和接口的区别和选择:

差异uff1a

1。界面的使用是通过关键字实现的。抽象类的使用是通过关键字扩展的。当然,界面也可以通过关键字扩展来继承。

2。一个成员变量(包括静态类变量)不能在一个接口中声明一个类,但常可以声明,抽象类,各种类型的成员变量可以被声明为实现数据的封装。(在java接口的成员变量声明为public static final类型)


< PHP
抽象类父{
功能METH1(){
回声METH1…;
}
抽象函数的方法();
公众为var1 =var1;
公共静态变量var2 =VAR2 ;
const var3 =var3 ;
}
子类扩展父{
函数方法(){
回声活子;
}
}
$ =新子();
echo $ S -> VAR1。;
回声的父亲::$ VAR2。;
父亲::var3回声。;
{ ifather接口
/ /公共ivar1美元=ivar1 ;这里的接口定义的任何成员变量
/ /公共静态ivar2美元=ivar2 ;这里的接口定义非静态变量
const ivar3 =ivar3 ;
imeth1()函数;
}
课堂是实施{ ifather
功能imeth1(){
回声imeth1…;
}
}
$ =新的是();
回声ifather::ivar3;
>




三.接口没有构造函数,抽象类可以有构造函数。

4,接口中的方法都是公共类型,抽象类中的方法可以用私有、受保护和公开的方式进行修改。

5,一个类可以同时实现多个接口,但是一个类只能继承到一个抽象类。

抽象类或接口

1。如果要创建一个模型,模型将被一些密切相关的对象所采用,抽象类可以被使用。如果你想创建一个不相关对象使用的函数,请使用接口。

2。如果必须从多个源继承,请使用接口。

三.如果您知道所有类都有一个共同的行为实现,那么您可以使用抽象类并在其中实现它。

有关PHP相关内容的更多读者感兴趣的可以查看主题:php网络编程技巧总结

希望本文能对PHP程序设计有所帮助。