Exercices POO Compteur d'instances avec attribut de classe
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Compteur d'instances avec attribut de classe

Un cas d'usage classique des attributs de classe, c'est compter combien d'instances ont ete créées. L'idee est simple : un compteur au niveau de la classe, incremente dans __init__.

class Personne:
nombre = 0

def __init__(self, nom):
Personne.nombre += 1
self.nom = nom

Chaque fois qu'on crée une Personne, le compteur augmente. Attention : on utilise Personne.nombre (pas self.nombre) pour modifier l'attribut de classe.

Crée une classe Connexion avec :
- un attribut de classe total qui compte le nombre total de connexions créées
- un attribut de classe actives qui compte les connexions actuellement actives
- un __init__ qui prend un nom d'utilisateur et incremente les deux compteurs
- une méthode fermer() qui decremente actives (une seule fois par connexion)

Exemple :
c1 = Connexion('alice')
c2 = Connexion('bob')
Connexion.total vaut 2
Connexion.actives vaut 2
c1.fermer()
Connexion.actives vaut 1

Tests (3/4)

Total
Connexion.total = 0
Connexion.actives = 0
c1 = Connexion('alice')
c2 = Connexion('bob')
assert Connexion.total == 2
Actives
Connexion.total = 0
Connexion.actives = 0
c1 = Connexion('alice')
c2 = Connexion('bob')
c1.fermer()
assert Connexion.actives == 1
Double fermeture
Connexion.total = 0
Connexion.actives = 0
c = Connexion('alice')
c.fermer()
c.fermer()
assert Connexion.actives == 0

+ 0 tests cachés

Indices (3 disponibles)

solution.py