圣诞大减价开始了!

提取超类

问题

您有两个具有公共字段和方法的类。

解决方案

为它们创建一个共享的超类,并将所有相同的字段和方法移动到它。

之前
提取超类-之前
提取超类-之后

为什么重构

当两个类以相同的方式执行类似的任务,或者以不同的方式执行类似的任务时,就会发生一种类型的代码复制。对象提供了通过继承简化这种情况的内置机制。但是,这种相似性通常在创建类之前都不会被注意到,这就需要稍后创建继承结构。

好处

  • 代码重复数据删除。常见的字段和方法现在只“存在”在一个地方。

什么时候不用

  • 不能将此技术应用于已经有超类的类。

如何重构

  1. 创建一个抽象超类。

  2. 使用上拉场上拉法,上拉构造器本体将公共功能移动到超类。从字段开始,因为除了公共字段之外,还需要移动公共方法中使用的字段。

  3. 在客户端代码中寻找可以用新类替换子类的地方(比如在类型声明中)。

Baidu
map