Classes python
Résolu/Fermé
dotten
Messages postés
17
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
5 août 2008
-
2 avril 2008 à 09:11
grom971 - 24 juin 2011 à 16:24
grom971 - 24 juin 2011 à 16:24
2 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
2 avril 2008 à 11:00
2 avril 2008 à 11:00
Sous python peut on avoir une classe B qui soit dans une autre classe A?
oui.
Par composition ou héritage, comme tu veux.
si oui, comment peut on utiliser les variables statiques de la classe A dans B et inversement?
Généralement, il vaut mieux éviter les variables de classe ("statiques"). Mais bon si vraiment tu le veux:
Exemple: Une classe B accède à une variable de classe par composition:
ce qui affiche: 5
Et par héritage:
oui.
Par composition ou héritage, comme tu veux.
si oui, comment peut on utiliser les variables statiques de la classe A dans B et inversement?
Généralement, il vaut mieux éviter les variables de classe ("statiques"). Mais bon si vraiment tu le veux:
Exemple: Une classe B accède à une variable de classe par composition:
class A: varClasseA = 5 # C'est une variable de classe. class B: def __init__(self): pass def coucou(self): print A.varClasseA b = B() b.coucou()
ce qui affiche: 5
Et par héritage:
class A: varClasseA = 5 # C'est une variable de classe. class B(A): def __init__(self): pass def coucou(self): print self.__class__.varClasseA b = B() b.coucou()
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
3 avril 2008 à 13:50
3 avril 2008 à 13:50
De préférence, définir les variables comme vairables d'instance et non de classe:
class A: def __init__(self): self.varInstance = 7 # C'est une variable d'instance.
3 avril 2008 à 13:45
24 juin 2011 à 16:24