를 호출 나는 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):
...
논리는 내가 일을 처리하기 위해 일부 내부 클래스 정의가, 간단을, 난
obj = DoXJob(param1, param2)
obj.DoIt()
모두 승 미세 일부 매개 변수 DoXJob
, 그것은 다음 내부 클래스가 사용될 결정 호출 선택된 내부 클래스 법 (DoXInSomeOtherWay.DoIt
또는 DoXInWay.DoIt
)의 방법 DoXJob.DoIt
메소드를 재정의 내가 원한 모자는 을 DoXInSomeOtherWay.DoIt
또는 DoXInWay.DoIt
에서 호출하는 것과 같이 ineer 클래스에서 트리거하는 것입니다. 그러나 나는 이것을 어떻게 처리 할 것인지, 그것이 올바른지 여부를 모른다.
obj = DoXJob(param1, param2)
obj.DoIt()
obj.Finalize()
내부 정보를 제거하고 하위 클래스를 만들고 다른 정보를 덮어 쓰지 않는 이유는 무엇입니까? – DonCallisto
또는 전략 패턴과 같은 기존의 방식을 시도 할 수 있습니다. –
@DonCallisto 하위 클래스 및 상속을 사용해야하는 것은별로 없습니다. 게다가 내부 클래스는 기본 클래스 내에서만 사용되므로 하위 클래 싱 대신이 패턴을 따르는 것이 나에게 더 논리적으로 보였다. – FallenAngel