Adloun

NSI (terminale) · Chapitre 9 · Exercice d'entraînement

Une horloge encapsulée

La programmation orientée objet · Objets, attributs et encapsulation · niveau 2

Énoncé

Une horloge encapsulée. On veut une classe Horloge représentant une heure de la journée (de 00:00 à 23:59). L'état interne est stocké dans un unique attribut « privé » _minutes : le nombre de minutes écoulées depuis minuit.

  • Écrire le constructeur __init__(self, h=0, m=0) et un mutateur regler(h, m) qui lève une ValueError si l'heure est invalide.
  • Écrire les accesseurs heures() et minutes(), puis une méthode __str__ renvoyant l'heure au format hh:mm (par exemple 09:05).
  • Écrire une méthode avancer(duree) qui fait avancer l'horloge de duree minutes (entier positif ou nul), en repassant par minuit si nécessaire.
  • Pourquoi un programme utilisateur ne doit-il jamais écrire h._minutes = 2000 ?

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre