私は、クラスメソッドは、Pythonでinitメソッドを "オーバーロード"するために使用できることを知っていますが、私は少し問題に遭遇しています。例えば、私はこのようなコンストラクタを持っている、と言う:pythonでコンストラクタをオーバーロードする方がいいですか?
def __init__(self, serviceName, endpoint, exportedInterface, exportedObject, remoteObjectInterface, remoteObjectProxy,
interruptionHandler, invalidationHandler):
self._serviceName = serviceName;
#etc.
@classmethod
def createConnection(cls, serviceName):
return cls(serviceName, None, None, None, None, None, None, None)
が、私は本当にただのクラスメソッドを持つクラスのインスタンスを作成するには、クラスメソッド内のすべての単一のデータメンバの値をリストアップする必要がありますか?また、後でクラスにデータメンバーを追加する予定ですが、このように扱いにくいinit関数を15個の引数で持たせるのは嬉しいことではありません。これについてもっと良い方法がありますか?
感謝を行うために必要最小限と使用工場の機能を実行してください!これは役に立ちます:) –