Pull Up Field(字段上移)

这篇博客探讨了在软件开发中如何通过重构来消除子类间的重复字段,建议将具有相同使用方式的字段归纳到超类,以减少代码重复并提高代码复用性。步骤包括检查字段调用、统一字段名称、创建超类字段、移除子类字段并可能进行字段封装。这样做可以优化代码结构,便于维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动机

如果各子类时分别开发的,或者是在重构过程中组合起来的,你常会发现它们拥有重复特性,特别是字段更容易重复。这样的字段有时拥有近似的名字,但也并非绝对如此。判断若干字段是否重复,唯一的办法就是观察函数如何使用它们。如果它们被使用的方式很相似,你就可以将它们归纳到超类去。

本项重构从两方面减少重复:首先它去除了重复的数据声明:其次它使你可以将使用该字段的行为从子类移至超类,从而去除重复的行为。

做法

  1. 针对待提升之字段,检查它们的所有被调用点,确认它们以同样的方式被使用。
  2. 如果这些字段的名称不同,先将它们改名,使每一个名称都和你想为超类字段取的名称相同。
  3. 编译,测试。
  4. 在超类中新建一个字段(如果这些字段是private,你必须将超类的字段声明为protected,这样子类才能引用它)。
  5. 移除子类中的字段。
  6. 编译,测试。
  7. 考虑对超类的新建字段使用Self Encapsulate Field

范例

在这里插入图片描述
重构后
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值