Édité parce que je suis un crétin. Aurait dû dire classe à l'origine.Question d'héritage et de portée de Python
J'ai le code qui fait quelque chose comme ceci:
file1.py
class A(object):
def __init__(self):
stuff_here()
class B(object):
def func(self):
self.a = A()
file2.py
import file1
class A(file1.A):
def __init__(self):
file1.A(self)
self.thing = other_thing
class B(file1.B):
pass
Je voudrais que quand j'instancier file2.B() il utilise file2.A() pour son membre a, pas file1.A()
Y at-il un moyen de faire cela? J'ai essayé de regarder les règles de portée de python, mais je pense que je l'ai mal compris.
Peut-être que 'Object' devrait être' class'. –
Pourriez-vous être un peu plus concret sur ce que vous essayez de construire? Alors peut-être que nous pouvons apporter des suggestions alternatives. – Thomas
J'étends un système qui a déjà des classes qui contiennent beaucoup de code. J'ai besoin de modifier 1 détail d'implémentation minuscule de la classe A, car la classe d'origine fait une supposition qui n'est pas vraie pour mes données. – PGM