博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重构第21天 合并继承 (Collapse Hierarchy)
阅读量:6080 次
发布时间:2019-06-20

本文共 880 字,大约阅读时间需要 2 分钟。

理解本文中的”合并继承”是指如果子类的属性和方法也适合于基类,那么就可以移除子类,从而减少依赖关系。

详解上一篇我们讲到“提取子类”重构是指当基类中的一个责任不被所有的子类所需要时,将这些责任提取到合适的子类中。而我们今天所要讲的的“合并继承”重构一般用在当我们觉得不需要子类的时候。

       

1 public class Website 2     { 3         public string Title { get; set; } 4         public string Description { get; set; } 5         public IEnumerable
Pages { get; set; } 6 } 7 8 public class StudentWebsite : Website 9 {10 public bool IsActive { get; set; }11 }

 

如上代码所示,StudentWebSite子类除了有一个属性用来说明网站是否是活动的外没有别的责任,在这种情形下我们意识到IsActive属性可以应用到所有的网站,所以我们可以将IsActive属性上移到基类中,并去掉StudentWebSite类。

 

1  public class Website2     {3         public string Title { get; set; }4         public string Description { get; set; }5         public IEnumerable
Pages { get; set; }6 public bool IsActive { get; set; }7 }

 

这篇和上篇其实最主要论述了子类和父类的继承关系以及如何判断什么时候需要使用继承,一般我们都能处理好这些关系,所以相对比较简单。

 

转载地址:http://zvhgx.baihongyu.com/

你可能感兴趣的文章
Oracle DG 逻辑Standby数据同步性能优化
查看>>
exchange 2010 队列删除
查看>>
「翻译」逐步替换Sass
查看>>
H5实现全屏与F11全屏
查看>>
处理excel表的列
查看>>
C#数据采集类
查看>>
quicksort
查看>>
【BZOJ2019】nim
查看>>
四部曲
查看>>
LINUX内核调试过程
查看>>
【HDOJ】3553 Just a String
查看>>
Java 集合深入理解(7):ArrayList
查看>>
2019年春季学期第四周作业
查看>>
linux环境配置
查看>>
ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
查看>>
lintcode:next permutation下一个排列
查看>>
一个想法(续二):换个角度思考如何解决IT企业招聘难的问题!
查看>>
tomcat指定配置文件路径方法
查看>>
linux下查看各硬件型号
查看>>
epoll的lt和et模式的实验
查看>>