抽象类和接口有什么异同 接口与抽象类是相同的概念吗

综合百科2022-08-11 01:38:10未知

抽象类和接口有什么异同 接口与抽象类是相同的概念吗

抽象类和接口的区别:

  

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

  

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

  

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

  

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

  

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

  

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

  

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

  

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

本文标签: ,有什么  ,异同  ,接口  ,标签  

相关推荐

猜你喜欢

大家正在看