申し訳ありませんが、これは愚かな質問ですが、私には非常に混乱している可能性があります。私は子供に親メソッドにアクセスしていますグランドチャイルドクラスの祖父母メソッドを呼び出す
class A():
def say(self):
print("A")
class B(A):
def say(self):
print("B")
class C(B):
def say(self,*args, **kwargs):
return super(C, self).say(*args, **kwargs)
、それはB
印刷しますが、私たちは、クラスB
からのアクセスを得ているように、クラスA
からメソッドにアクセスしたい:我々は次のクラスを持っているとしましょう。
私はsuper
をクラスBに追加できますが、クラスB
は変更したくありません。どのようにしてA
から直接C
クラスのメソッドを取得するオプションがありますか?
A.say(self)
を呼び出すことによってすることができます
Aクラス(Aクラス)のメソッドを直接呼び出すことができます。 )メソッドを使用します。 –
@ PeterMajkoあなたはそれを行うためにAのインスタンスが必要です。 Sanjay - なぜあなたはそのようなことをしたいのですか?一方では継承を使用していますが、他方ではそれを壊そうとしています。あなたがそれをやろうとしているのではなく、あなたが達成したいものを投稿してください。あなたの目標を達成するより良い方法があるかもしれない – alfasin
クラスCでは、あなたのsay()メソッドは 'super(B、self)、say()'によってAにアクセスできます。 –