동적으로 서브 클래스화할 수 있습니까? 나는 _____베이스가 있다는 것을 알고 있지만, 나는 그 클래스의 모든 경우에 영향을 미치기를 원하지 않는다. 개체 cf가 DrvCrystalfontz 클래스의 믹스 인으로 변형되기를 원합니다. 더 나아가 계층 구조에 신호를 연결하기 위해이 레벨에서 사용할 수 있어야하는 개체의 하위 클래스가 있으며 아래 솔루션으로는 충분하지 않습니다.파이썬에서 서브 클래 싱하기
class DrvCrystalfontz:
def __init__(self, model, visitor, obj=None, config=None):
if model not in Models.keys():
error("Unknown Crystalfontz model %s" % model)
return
self.model = Models[model]
if self.model.protocol == 1:
cf = Protocol1(self, visitor, obj, config)
elif self.model.protocol == 2:
cf = Protocol2(self, visitor, obj, config)
elif self.model.protocol == 3:
cf = Protocol3(self, visitor, obj, config)
for key in cf.__dict__.keys():
self.__dict__[key] = cf.__dict__[key]
유스 케이스를 조금 더 설명 할 수 있으며 위의 해결책이 효과가없는 이유는 무엇입니까? –
원본 질문을 복원하십시오, 지금은 그것을 보지 못했던 누구에게나 완전히 쓸모가 없습니다. 자신의 질문에 대한 대답이있는 경우 _answer_! – nikow