IT常识

抽象类和接口有什么异同

2023-01-20 8930人阅读
威客牛网
科技信息综合服务平台

抽象类和接口的区别:

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

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

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

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

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

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

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

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

热门推荐
发布项目联系我们
分享至 取消