抽象メソッドを使用して抽象クラスを作成するときに、派生クラスでのこれらのメソッドの実装で、関数ごとに異なる量のパラメーターを持つことができるかどうか、私は考えていました。
私は現在、抽象クラスのために持っています
_from abc import ABCMeta, abstractmethod
class View(metaclass=ABCMeta):
@abstractmethod
def set(self):
pass
@abstractmethod
def get(self):
pass
_
しかし、私はそれを1つのパラメータを持つセットで1つのクラスに実装して2(set(param1)
とget(param1, param2)
)を取得できるようにしたいのですが、別のクラスでもそれを継承しますが0 set
のパラメーターとget
の2(set()
とget(param1, param2)
)。
これは可能ですか、それができるとしたらどうすればいいですか
具体的な実装が取る引数の数に関するチェックは行われません。だから、あなたがこれをやめることをすでに止めるものは何もありません。
これらのメソッドを定義して、受け入れる必要があるすべてのパラメーターを取得します。
class View(metaclass=ABCMeta):
@abstractmethod
def set(self):
pass
@abstractmethod
def get(self):
pass
class ConcreteView1(View):
def set(self, param1):
# implemenation
def get(self, param1, param2):
# implemenation
class ConcreteView2(View):
def set(self):
# implemenation
def get(self, param1, param2):
# implemenation