Reborn's Blog

设计模式--封装、抽象、继承、多态

2019-11-14·Design Pattern, OOP

封装

信息隐藏或数据访问保护,类通过暴露有限的接口,授权外部仅能通过类提供的方法访问内部数据。

主要依赖访问权限控制(如 private 关键字)。

通过封装,隐藏业务细节,减少调用者出错概率,提高类的易用性。

抽象

隐藏方法的具体实现,调用者只需要关心提供哪些功能,不需要知道如何实现。

可以借助接口类抽象类来实现。抽象能过滤掉许多非必要信息。

继承

表示类之间的 is-a 关系,最大好处是代码复用

缺点:继承层次过于复杂时,代码可读性和可维护性变差。建议"多用组合少用继承"。

多态

子类可以替换父类,实际运行中调用子类的方法实现。

实现方式

  1. 继承 + 方法重写:Java 通过 extends 和 @Override 实现
  2. 接口实现:通过实现相同接口的不同类
  3. duck-typing(动态语言):只要有相同方法即可,不要求继承关系

多态提高了代码的扩展性和复用性

#Design Pattern#OOP