抽象类和接口有什么异同

时间:2021-05-18

抽象类和接口的区别:

  1、抽象类要被子类继承,接口要被类实现。

  2、接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。

  3、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

  4、接口是设计的结果,抽象类是重构的结果。

  5、抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。

  6、抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。

  7、抽象类主要用来抽象类别,接口主要用来抽象功能。

  抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章