Je veux être en mesure de sous-classer une classe, et de définir __init__
mais toujours exécuter l'ancien __init__
.Polymorphisme - Ajout à des méthodes existantes en les écrasant
Pour illustrer, disons que j'ai les classes suivantes:
class A(object):
def __init__(self):
self.var1 = 1
class B(A):
def __init__(self)
self.var2 = 2
doInitForA()
Et je veux être en mesure de le faire:
instB = B()
print (instB.var1) #1
print (instB.var2) #2
Edité comme Ignacio Vazquez-Abrams suggéré. (Est-il possible d'éditer sans se cogner contre?)
Édité pour se conformer à PEP 8 et utiliser une nouvelle classe de style. – bernie
@Adam: Ne modifiez pas la question d'une manière qui change les réponses potentielles. Laissez le code tel qu'il a été écrit par l'OP. –
@Ignacio: Je suis d'accord. Merci pour le retour en arrière. @wallacoloo: pensez à modifier votre code pour qu'il soit conforme à PEP 8 et utilisez des classes de style nouveau. – bernie