美文网首页
8.接口vs抽象类

8.接口vs抽象类

作者: 转岗做JAVA | 来源:发表于2020-10-20 22:38 被阅读0次

以下均以java语言做参考来说。

1. 接口具有哪些特性?
  • 接口不能包含属性。
  • 接口只能声明方法,方法不能包含代码实现。
  • 类实现接口的时候,必须实现接口中声明的所有方法。
2. 为什么需要接口?

解耦,能够极大地提高代码的灵活性和扩展性。

3. 抽象类具有哪些特性?
  • 不允许被实例化,只能被继承。
  • 可以包含属性和方法。方法既可以包含代码实现,也可以不包含代码实现。不包含代码实现的方法叫作抽象方法。
  • 非抽象子类继承抽象类,必须实现抽象类中的所有抽象方法。
4. 为什么需要抽象类?

提高代码可复用性,使用抽象类的场景下如果用类继承实现会出现以下弊端:

  • 子类的方法必须要在基类创建创建空方法,会使设计看上去不够优雅。
  • 子类忘记实现必须要重写的方法时,编译器不会报错提示。
  • 基类可以被实例化误用。
5. 如何决定该用抽象类还是接口?

取决于是要表达is-a关系(抽象类),还是has-a关系(接口)。

相关文章

  • 8.接口vs抽象类

    以下均以java语言做参考来说。 1. 接口具有哪些特性? 接口不能包含属性。 接口只能声明方法,方法不能包含代码...

  • 接口vs抽象类

  • 抽象类 VS 接口

    引言 接口和抽象类是面向对象编程(OOP, Object Oriented programming)中两个绕不开的...

  • 抽象类 vs 接口

    抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。

  • 5.5-全栈Java笔记:接口的定义和使用

    接口interface 接口的作用 为什么需要接口?接口和抽象类的区别? 接口就是比“抽象类”还“抽象”的“抽象类...

  • 建造者模式

    建造者抽象类或接口 建造者抽象类或接口实现类 产品抽象类或接口 产品抽象类或接口实现类 使用

  • 08 - 接口vs抽象类

    在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则...

  • 代理(委托)模式

    主题抽象类或接口 主题抽象类或接口实际类 主题抽象类或接口代理类 使用

  • 访问者模式

    元素抽象类或接口 元素抽象类或接口实现类 访问者抽象类或接口 访问者抽象类或接口实现类 场景使用

  • Java 接口 抽象类 枚举

    接口 使用接口对行为进行抽象 接口: 抽象类 抽象类是用来捕捉子类的通用特性的,包括属性及行为。 抽象类: 抽象类...

网友评论

      本文标题:8.接口vs抽象类

      本文链接:https://www.haomeiwen.com/subject/rnecmktx.html