当前位置:懂科普 >

IT科技

> 抽象类和接口有什么异同

抽象类和接口有什么异同

抽象类和接口的区别:

抽象类和接口有什么异同

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

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

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

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

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

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

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

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

标签: 异同 接口 抽象类
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/30k88g.html