发布网友 发布时间:2022-04-20 04:10
共1个回答
热心网友 时间:2023-09-11 11:42
抽象类和接口的区别:抽象类要被子类继承,接口要被类实现。
类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象;接口用于规范,抽象类用于共性。接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。接口是设计的结果,抽象类是重构的结果。
抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。抽象类主要用来抽象类别,接口主要用来抽象功能。接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承。
抽象类的概念理解
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
比如,在一个图形编辑软件的分析设计过程中,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域并不是直接存在的,它就是一个抽象概念。而正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。
以上内容参考百度百科-抽象类