Outils pour utilisateurs

Outils du site


python:programmes:classes_heritage_exemple

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
python:programmes:classes_heritage_exemple [2017/06/01 10:46] rootpython:programmes:classes_heritage_exemple [2017/06/01 11:02] (Version actuelle) root
Ligne 6: Ligne 6:
         print("init parent1")         print("init parent1")
         self.var1 = 'myvar1'         self.var1 = 'myvar1'
 +
 +    def defParent1(self):
 +        print('defParent1')
  
     def test(self):     def test(self):
Ligne 14: Ligne 17:
         print("init parent2")         print("init parent2")
         self.var2 = 'myvar2'         self.var2 = 'myvar2'
 +
 +    def defParent2(self):
 +        print('defParent2')
  
     def test(self):     def test(self):
Ligne 24: Ligne 30:
         for c in __class__.mro()[1:-1]:         for c in __class__.mro()[1:-1]:
             c.__init__(self)             c.__init__(self)
 +            #exec('self.{} = c.__init__(self)'.format(c.__name__))
             # On initialise dynamiquement les variables avec le nom des parents             # On initialise dynamiquement les variables avec le nom des parents
             #for c in child.mro()[1:]:             #for c in child.mro()[1:]:
-            #    exec('self.{} = c()'.format(c.__name__))+            #    exec('self.{}=c()'.format(c.__name__))
  
     def test(self):     def test(self):
Ligne 72: Ligne 79:
     print('\n* a = child() => crée une instance de la classe child dans la variable a')     print('\n* a = child() => crée une instance de la classe child dans la variable a')
     a = child()     a = child()
 +
 +    print('\n* a.defParent1() => appelle la méthode defParent1 seulement présente dans parent1')
 +    a.defParent1()
 +
 +    print('\n* a.defParent2() => appelle la méthode defParent2 seulement présente dans parent2')
 +    a.defParent2()
  
     print('\n* a.var1 : ' + a.var1)     print('\n* a.var1 : ' + a.var1)
python/programmes/classes_heritage_exemple.1496313963.txt.gz · Dernière modification : 2017/06/01 10:46 de root