【发布时间】:2012-09-21 12:38:24
【问题描述】:
此时我想创建一个有两个方法的类(我也希望能够 明显改变班级)。
class ogrGeo(object):
def __init__(self):
pass
def CreateLine(self, o_file, xy):
#lots of code
def CreatePoint(self, o_file, xy):
# lot's of the same code as CreateLine(),
# only minor differences
保持事物干净并重复
尽可能少的代码我正在寻求一些建议。两种方法CreateLine()
和CreatePoint() 分享了很多代码。减少冗余:
是否应该定义两种方法都可以调用的第三种方法?
在这种情况下,您仍然可以致电
o = ogrGeo()
o.CreateLine(...)
o.CreatePoint(...)seperatly。
还是应该将它们合并为一种方法?还有其他我没有想到或一无所知的解决方案吗?
已经感谢您的任何建议。
【问题讨论】:
-
感谢大家的建议。最后,我将它实现为一个具有两个公共方法和两个辅助函数的类,以尽可能多地模块化代码。我对结果很满意,特别是因为它的代码将使我的类的扩展非常容易(例如方法
create_polygon,...)。