接口与抽象类

什么是抽象类?什么是接口?

抽象类

  • 抽象类不允许实例化,只能被继承。
  • 抽象类可以包含属性和方法,方法可以包含代码实现
  • 子类继承抽象类时需要实现抽象类中的所有方法

注:抽象类可以理解为基础类,base类,其他具体的类可以直接继承他,但是要求基础的抽象方法必须实现。

接口

  • 接口不能包含属性
  • 接口只能声明方法,但是不能包含代码实现
  • 类实现接口的时候需要实现接口中声明的所有方法

注:接口更像是对外的一种规范,定义必要实现的方法,但是没有具体的属性参数等。

二者之间的比较

抽象类是一种不能被实例化的类,只能被继承。用于定义各种具体的属性 是一种is关系
接口更像是一种功能的规范定义 定义了接口实现时必须实现某些特定功能

两者之间的作用区别

抽象类是用于代码的复用性,一般是先有具体的方法,然后抽象出抽象类,增加代码的复用性
接口偏向于实现解耦 先定义要实现某些功能,然后着手实现代码,约定与实现分离

posted @ 2023-01-28 17:40  IVWT  阅读(31)  评论(0)    收藏  举报