Új hozzászólás Aktív témák
-
cousin333
addikt
válasz Siriusb #2032 üzenetére
Először is: a ClassC feleslegesen örököl a ClassA-tól, hiszen a ClassB már megörökölt tőle mindent.
"Szeretném ClassC-ben végrehajtatni a ClassB.f1()-et anélkül, hogy bármi mást örökölne ClassB-ből"
Erről már lekéstél, tekintve, hogy a ClassC a ClassB-ből örököl...
Feltételezve, hogy a ClassC-t úgyis példányosítod, a
super()
lesz a megoldásclass A:
def f1(self):
print('f1 in Class A')
class B(A):
def f1(self):
print('f1 in Class B')
class C(B):
def f1(self):
print('f1 in Class C')
def f2(self):
super().f1()
c = C()
c.f2()f1 in Class B
Ha pedig konkrétan a ClassA
f1()
függvényét akarod elérni, akkor:class A:
def f1(self):
print('f1 in Class A')
class B(A):
def f1(self):
print('f1 in Class B')
class C(B):
def f1(self):
print('f1 in Class C')
def f2(self):
super(B, self).f1()
c = C()
c.f2()f1 in Class A
A
classmethod
is mehet, de akkor nem kell a ClassC-nek a ClassB-ből örökölnie.[ Szerkesztve ]
"We spared no expense"