欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中的抽象类和接口有什么区别

程序员文章站 2022-03-02 09:56:24
...

php中的抽象类和接口的区别:1、抽象类可以有属性、普通方法,接口不能有属性和普通方法;2、抽象类中未必有抽象方法,接口中一定有抽象方法;3、抽象类使用abstract关键字声明,接口使用interface关键字声明。

php中的抽象类和接口有什么区别

区别介绍:

(推荐教程:php视频教程

抽象类:是基于类来说,其本身就是类,只是一种特殊的类,不能直接实例,可以在类里定义方法,属性。类似于模版,规范后让子类实现详细功能。

接口:主要基于方法的规范,有点像抽象类里的抽象方法,只是其相对于抽象方法来说,更加独立。可让某个类通过组合多个方法来形成新的类。

抽象类与接口的相同点:

1、都是用于声明某一种事物,规范名称、参数,形成模块,未有详细的实现细节。

2、都是通过类来实现相关的细节工作

3、语法上,抽象类的抽象方法与接口一样,不能有方法体,即{}符号

4、都可以用继承,接口可以继承接口形成新的接口,抽象类可以继承抽象类从而形成新的抽象类

抽象类与接口的不同点:

1、抽象类可以有属性、普通方法、抽象方法,但接口不能有属性、普通方法、可以有常量

2、抽象类内未必有抽象方法,但接口内一定会有“抽象”方法

3、语法上有不同

4、抽象类用abstract关键字在类前声明,且有class声明为类,接口是用interface来声明,但不能用class来声明,因为接口不是类。

5、抽象类的抽象方法一定要用abstract来声明,而接口则不需要

6、抽象类是用extends关键字让子类继承父类后,在子类实现详细的抽象方法。而接口则是用implements让普通类在类里实现接口的详细方法,且接口可以一次性实现多个方法,用逗号分开各个接口就可

相关推荐:php培训

以上就是php中的抽象类和接口有什么区别的详细内容,更多请关注其它相关文章!