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
Bonjour,
Sous python peut on avoir une classe B qui soit dans une autre classe A?
si oui, comment peut on utiliser les variables statiques de la classe A dans B et inversement?
Merci.
Sous python peut on avoir une classe B qui soit dans une autre classe A?
si oui, comment peut on utiliser les variables statiques de la classe A dans B et inversement?
Merci.
A voir également:
- Classes python
- Citizen code python avis - Accueil - Outils
- Python generator - Télécharger - Sécurité
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
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 662
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 662
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