我对这一类有c类定义和一些内层定义:
class DoXJob():
def __init__(self, param1, param2):
<choose an inner class to use>
def DoIt(self):
pass
def Finalize(self):
<do finalization>
class DoXInSomeWay():
def __init__(self):
....
....
def DoIt(self):
...
class DoXInSomeOtherWay():
def __init__(self):
....
....
def DoIt(self):
...
逻辑简单,即有一些内部类别定义来处理工作,而i打上DoXJob
,其中有一些参数,然后决定采用哪些内部类别,并以选定的内部类别方法为准<代码>DoXJob.DoIt(DoXInSome OtherWay.Do
或DoXInWay.Dot
)。
obj = DoXJob(param1, param2)
obj.DoIt()
所有这一切都是罚款,如从<代码>上打字。 DoXInSome OtherWay.DoIt或DoXInWay.DoIt
。 但我不知道如何处理这一问题,这是否正确。 或者作为<代码>DoXJob的最好办法。 采用的方法如下:
obj = DoXJob(param1, param2)
obj.DoIt()
obj.Finalize()