Я пытаюсь расширить рамки, у меня есть что-то вроде этого:Python супер переопределить имя объекта
class A(object):
def test(self):
print(1)
class B(object):
def method(self):
a = A()
a.test()
class CustomA(A):
def test(self):
print(2)
class C(B):
def method(self):
A = CustomA
super(C, self).method()
c = C()
c.method()
классов А и В из рамок.
Я хочу отредактировать этот тест() от A и сделать C использовать этот новый метод.
В этом коде, например, как я могу сделать свой код print 2 вместо 1?
[Update]
Это был лишь простой пример. Я хочу продлить this class. Таким образом, вместо того, чтобы создать SettingsPanel
, создать CustomSettingsPanel
Но проблема в том, что мне нужно сделать это с большим количеством классов, так что я просто хочу способ сделать питона всегда использовать CustomSettingsPanel
и не SettingsPanel
.
Это был просто простой пример. Я хочу расширить [этот класс] (https://github.com/kivy/kivy/blob/master/kivy/uix/settings.py#L962). Поэтому вместо создания 'SettingsPanel', создайте' CustomSettingsPanel' –
Но проблема в том, что мне нужно будет делать это с большим количеством классов, поэтому я просто хочу, чтобы python всегда использовал 'CustomSettingsPanel', а не' SettingsPanel'. –
Почему вы не можете просто сделать 'CustomSettingsPanel', а затем реорганизовать свой код, чтобы использовать это вместо' SettingsPanel'? –