一道关于php抽象类和接口的问题

问题是这样的:

关于抽象类和接口的对比分析,正确的有( )
A、接口和抽象类都可以只声明方法而不实现
B、抽象类可以定义常量,而接口不能
C、抽象类可以实现具体的方法,而接口不能
D、抽象类可以声明属性,而接口不能

自己觉得答案是D,但是又不知道怎么样去解释其他答案是错的。我也去找了相关文章来介绍二者,基本的懂得接口是规范,类是对象。但是接口可以实现类的多继承问题,是不是可以认为抽象类拥有的东西,接口都拥有呢?

希望可以有大神帮忙解答下二者,自己看文章还是一知半解。谢谢了

阅读 2.8k
2 个回答

关于这个问题,其实我感觉只要稍微理解抽象类跟接口基本上就能解答了
接口只是一种约束,所以具体的实现要在实现了这个接口的方法上
抽象类是一类的抽象,所以它可以实现具体的方法,继承了它的子类只能override

接口不是类 所以不能声明属性
常量两者都能定义
基本上就是这样

我感觉A D都是对的

ACD对.
接口里面也可以定义常量.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题