私はPythonのOOPの実装を理解しようとしています。
基本的に、他のすべてのクラスがメソッドの入力として使用するいくつかのグローバル属性を定義するスーパークラスが必要です。例えば:
これは私がそれを行うべきだと思った方法です:
class One():
def __init__(self, name):
self.name = name
class Two(One):
def __init__(self, name): # name from class one...
One.__init__(self, name)
def method_using_name_from_one(self, name_from_one):
return name_from_one
クラス1のメソッドのようにクラス内のすべてのメソッドを宣言するだけでこれを行うことができるとTwo
思いますが、それらを分離することをお勧めします。要約すると、クラス2のメソッドのパラメーターで、クラスで宣言された属性を使用する必要がありますOne
。Two
したがって、基本的には、インスタンス化されたオブジェクトをクラスメソッドのパラメーター引数として渡したいと考えています。