私は例を持っています。私には2つのクラスがあります。 A
はB
のスーパークラスです。スーパークラスのスーパークラスからメソッドを呼び出す
class A(object):
def p(self):
print "a"
class B(A):
def p(self):
print "b"
super(A, self).p()
私は新しいクラスC
を持っています。クラスC
はB
の子クラスであり、そのように、再び方法p
を上書きする必要があります。私は、メソッドクラスC
でスーパーB
のp()
を上書きし、方法p()
を呼び出すことができますどのように
class C(B):
def p(self):
print "c"
# here call the method p of the 'supersuper'class A
# without calling the method p of the superclass B
...
をスーパークラスA
スーパークラスのメソッドp
を呼び出さずにB
?誰かにアイデアはありますか?
P/S:メソッド名は同一でなければなりません。
これはPythonです。私たちは皆ここで大人に同意しているので、 'Ap(self)'や 'self .__ mro__'を手動で実行することができます。しかし、あなたの要件はいくつかの基本継承ルールを破ります。それはうまくサポートされません。 –
はい、私は知っている、それは良いではありません。しかし、私は編集せずに彼のメソッドを変更するクラスを継承する必要があります。 – qvpham