Ich habe ein Beispiel. Ich habe zwei Klassen. A
ist die Oberklasse von B
.Rufen Sie eine Methode aus der Superklasse der Superklasse
class A(object):
def p(self):
print "a"
class B(A):
def p(self):
print "b"
super(A, self).p()
Jetzt habe ich eine neue Klasse C
. Die Klasse C
ist das Kind Klasse von B
und sollte die Methode p
wieder, wie das überschreiben:
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
...
Wie kann ich die Methode p()
der SuperB
in der Klasse C
und rufen Sie die Methode überschreiben p()
von die supersuperclassA
ohne die Methode der Oberklasse B
aufrufen? Hat jemand eine Idee?
P/S: Der Methodenname muss identisch sein.
Nun, es ist Python, wir sind alle einverstanden Erwachsenen hier, so wird es Ihnen erlauben, etwas wie 'Ap (Selbst) 'oder gehen Sie manuell durch' selbst .__ mro__', aber Ihre Anforderung bricht einige grundlegende Vererbungsregeln und Es wird nicht gut unterstützt. –
Ja, ich weiß, dass es nicht nett ist. Aber ich muss eine Klasse erben, um seine Methode ohne Bearbeitung zu ändern. – qvpham