B blue_morning Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #1 近来MIS的代码写得多了,发现自己在重用的方法变得不清楚了。一个方法应当创建在一个类中 ,但是做为函数来共享也有不少的好处。请各位DFW谈谈自己的经验。
D dhl2001 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #2 我也有同样的问题, 有时我甚至常常在想,什么是类? RAD能实现oop吗? 概念上的混淆,导致工作上的混乱!
T taozhiyu Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #3 我觉得应该把函数按功能分类,封装到类中,这样比较符合面向对象把!
Y yhaochuan Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #4 我觉得代码重用其实和代码COPY差不多。 因为不能将一代码写在一个地方,然后各个project都用那个代码。 那干脆COPY代码算了。
L lew Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #6 我觉得如果功能是单一、独立、共享的,用函数好,如果是面向继承的,用类。 不过,我觉得类不应滥用,我公司里有个家伙,几乎什么都用类,哪怕一个类 在工程中即只有一个方法,且没有任何继承类,弄的程序很可怕,几乎……
我觉得如果功能是单一、独立、共享的,用函数好,如果是面向继承的,用类。 不过,我觉得类不应滥用,我公司里有个家伙,几乎什么都用类,哪怕一个类 在工程中即只有一个方法,且没有任何继承类,弄的程序很可怕,几乎……
Y yh Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #7 如果能清晰的感觉到一个函数是一个类的方法,那一定要做为类的方法,反之,则没毕要。 什么事不能免强来做,这样的结果没有好处。如果你的mis中用的全是共公函数,那就就没 有进入oop,所以,需要深入学习oo,然后,代码在oo方面才能自然。 我一直苦恼,不能感觉到oo的思维。
如果能清晰的感觉到一个函数是一个类的方法,那一定要做为类的方法,反之,则没毕要。 什么事不能免强来做,这样的结果没有好处。如果你的mis中用的全是共公函数,那就就没 有进入oop,所以,需要深入学习oo,然后,代码在oo方面才能自然。 我一直苦恼,不能感觉到oo的思维。
T tseug Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #8 不同意 >我觉得代码重用其实和代码COPY差不多。 >因为不能将一代码写在一个地方,然后各个project都用那个代码。 >那干脆COPY代码算了。
荷 荷塘新月 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #9 我的处理方法是在程序的主窗体或数据窗体中写公共模块或过程。
B blue_morning Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #10 多谢各位DFW。 taozhiyu:我比较赞成。 lew: 在java, C#中应当没有单独的函数吧? yhaochuan: copy code应当不是代码重用的方法.
L lew Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #11 to blue_morning: 对于taozhiyu,我觉得没有必要把函数按功能分类封装到类中。 像 SysUtils、math 单元,是将函数按功能做成单元,而不是类,因为像这些函数, 功能单一、独立、共享,也并不是面向继承的,没有必要做成类,应该做成共享的单元。 如果做成类,工程中又有多处用到诸如power函数,那就要在一个单元中先定义个math 全局对象变量,再math:=Tmath.create,再让每个用到power函数的单元都use这个单元, 用到时再math.power,不可能这样做吧?而且这样做的意义是什么呢? 我始终不主张滥用类,因为类是对客观对象的描述,而不是一堆操作的集合。 java, C#我不懂,所以我也不知道!
to blue_morning: 对于taozhiyu,我觉得没有必要把函数按功能分类封装到类中。 像 SysUtils、math 单元,是将函数按功能做成单元,而不是类,因为像这些函数, 功能单一、独立、共享,也并不是面向继承的,没有必要做成类,应该做成共享的单元。 如果做成类,工程中又有多处用到诸如power函数,那就要在一个单元中先定义个math 全局对象变量,再math:=Tmath.create,再让每个用到power函数的单元都use这个单元, 用到时再math.power,不可能这样做吧?而且这样做的意义是什么呢? 我始终不主张滥用类,因为类是对客观对象的描述,而不是一堆操作的集合。 java, C#我不懂,所以我也不知道!
D dcsdcs Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #12 >>来自:lew, 时间:2002-1-5 16:16:00, ID:836692 同意
K Kisber Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #13 对特定数据进行的操作应用类来规范。 对公共无根类数据一般用公共函数处理。 Delphi本身就这样处理。
T Traveller Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #15 赞成lew的说法,感受颇深,在我的代码中最多的到重用的不是类,而是自己写的工具函数, 但是类可以使整个系统结构清晰,所以程序总体构架我仍然是以类为主。 比如我的一个典型的工具函数: function WidthOf(ARect: TRect): Integer; begin Result := ARect.Right - ARect.Left end; 虽然很短,但对于提高程序的可读性和自注释性大有帮助,在绘图方面重用频繁。
赞成lew的说法,感受颇深,在我的代码中最多的到重用的不是类,而是自己写的工具函数, 但是类可以使整个系统结构清晰,所以程序总体构架我仍然是以类为主。 比如我的一个典型的工具函数: function WidthOf(ARect: TRect): Integer; begin Result := ARect.Right - ARect.Left end; 虽然很短,但对于提高程序的可读性和自注释性大有帮助,在绘图方面重用频繁。
P PENGS Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #16 其实函数和类的概念大家一定知道 函数适合完成单一任务的过程, 而类更适合完成更复杂的事件,他可以有相同的属性,方法等继承下来, 所以,根据他们的不同点,要看你需要重用的内容了。 如果重用的仅是某一项工作,使用函数,如画透明图片这样的任务(DrawTransparentBitmap), 但如果除了要画图还要设计画图外的其他的的工作,如文本标,签点击事件等(像一按钮一样)。 当然要使用类啦。
其实函数和类的概念大家一定知道 函数适合完成单一任务的过程, 而类更适合完成更复杂的事件,他可以有相同的属性,方法等继承下来, 所以,根据他们的不同点,要看你需要重用的内容了。 如果重用的仅是某一项工作,使用函数,如画透明图片这样的任务(DrawTransparentBitmap), 但如果除了要画图还要设计画图外的其他的的工作,如文本标,签点击事件等(像一按钮一样)。 当然要使用类啦。
W weiweiHU Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-05 #18 把自己写的工具函数打包再重用是最好的,就象DELPHI
M mikegong Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-06 #19 我看还是在具体的实际情况,有些人喜欢类,把所有的函数都堆在类里面,以致从一个Form 的一个操作都要一层层子类的传参数,很麻烦!但是有时为了软件的封装性,又不得不用类。 所以这个本来就天生很矛盾,还是看实际应用好!!
我看还是在具体的实际情况,有些人喜欢类,把所有的函数都堆在类里面,以致从一个Form 的一个操作都要一层层子类的传参数,很麻烦!但是有时为了软件的封装性,又不得不用类。 所以这个本来就天生很矛盾,还是看实际应用好!!
Y yaoyao Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-06 #20 我个人认为用类了,结构不一定更清晰、更好理解, 倒是功能单一,接口简单的函数更好一些, 没有必要为了追求oop而一定采用类, 类太多了,继承来继承去的是一件很恐怖的事情。 但有一点,如果是一个小组和写一个项目,而且没个人的模块 关联性有不是很强,那么每人都写一个类是最好的了 自己都把自己那部分包装好,即不影响外部他人的, 也不让别人对自己类的内部进行处理
我个人认为用类了,结构不一定更清晰、更好理解, 倒是功能单一,接口简单的函数更好一些, 没有必要为了追求oop而一定采用类, 类太多了,继承来继承去的是一件很恐怖的事情。 但有一点,如果是一个小组和写一个项目,而且没个人的模块 关联性有不是很强,那么每人都写一个类是最好的了 自己都把自己那部分包装好,即不影响外部他人的, 也不让别人对自己类的内部进行处理