重构Extract Method中关于从源函数提取目标函数的疑问
2016-03-16 16:53
471 查看
当想把提炼出的目标函数代码放置在一个新类中,但是目标需要源函数作用域的某个或某些变量时,如果该变量是源函数所在类的一个方法获取的,那么是该将源函数所在类的类对象实例作为参数传给目标函数,让目标函数调用该实例的方法获取需要的变量,还是在源函数中调用所在类方法获取数据再作为参数传给目标函数?
例如:public class HandleFruit(){ public Apple getApple( ){ //函数实现 } public void cookPisan(){ plantPear();//种梨子树 wateringPear();//浇水 reapPear(); //收成梨子 getApple(); cookPisan(Apple,Pear); } } public class Pisan(){ public Pear getFruit(){ plantPear();//种梨子树 wateringPear();//浇水 reapPear(); //收成梨子 } }
疑问就是可以将获取苹果雪梨当披萨的材料可以提炼成一条函数,但是获取苹果的方法是来自HandleFruit类,那么是该将HandleFruit类实例传进getFruit(HandleFruit hf)让后者调用getApple方法获取苹果变量,还是传一个苹果实例给getFruit(Apple AP).。哪个实践比较好?
相关文章推荐
- 三个疑问与解决。
- 信息学奥林匹克竞赛-C语言输出3个数中最大值
- OKHttp介绍和实例展示
- MySQL Fabric高可用配置
- realloc,malloc,calloc三者的区别
- git强制添加(add)文件
- 操作系统的存储空间和存储地址
- PAT (Advanced Level) Practise 1057 Stack (30)
- iOS 中KVC、KVO使用和介绍
- C# 获取某月的第一天和最后一天
- 多态和重载的区别
- 共用体练习
- Error in init(): Log already in use报错的解决方法
- nginx安装
- C++ 网络编程:一个可复用的套接字管理类和一个简单用例
- ansible使用
- HTML5实现本地储存--localStorage、sessionStorage
- Visual Studio2015无法登陆:SP324099: 无法完成操作
- Go语言核心之美 2.2-浮点数
- [Android]自定义CheckableImageButton