重构第十一章

本章介绍了重构中处理继承关系的各种方法,如字段和方法的上移和下移,构造函数本体上移,提炼子类和超类,折叠继承体系,塑造模板函数等,旨在优化代码结构和提高代码复用性。
摘要由CSDN通过智能技术生成

第十一章、处理概括关系(即继承关系)

       有一批重构手法专门用来处理概括关系(即继承关系),主要是将函数上下移动于继承体系之中字段上移和方法上移都用于将特性向继承体系的上端移动,字段下移和方法下移则将特性向继承体系的下端移动。构造函数比较难以向上拉动,因此专门有一个构造函数本体上移处理它,一般不会将构造函数往下推,因为以工厂函数取代构造函数通常更管用。

11.1、字段上移

什么时候用?

两个子类拥有相同的字段

怎么用?

将该字段上移

具体步骤:

1、针对待提升字段,检查它们的所有被引用点,确认它们以同样的方式被使用。

2、如果这些字段的名称不同,先将它们改名,使每一个名称都和你想为超类字段取的名称相同。编译,测试。

3、在超类中新建一个字段。(如果子类的字段是private的,必须将超类的字段声明为protected,这样子类才能访问)

4、移除子类中的字段。编译,测试。

5、考虑对超类的新建字段使用自封装字段

 

11.2、函数上移

什么时候用?

有些函数,在各个子类中产生完全相同的效果

怎么用?

将该函数移至超类

具体步骤:

1、检查待提升函数,确定它们完全一致。(如果有些函数看上去做了相同的事,但并不完全一致,可以使用替换算法让它们变得一致)

2、如果待提升函数的签名不同,将那些签名都修改为想要在超类中使用的签名

3、在超类新建一个函数&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值