Files
training.python.beginner/training/exercices/07-objects/01-base-class.md
Steve Kossouho bea28eca14 Convert Asciidoc to markdown
Converted asciidoc to markdown using ai.
2025-07-06 22:07:31 +02:00

2.2 KiB

Exercices sur les classes (basique)

Exercice 1

(Thème bibliothèque)

  • Déclarez une classe Library
  • Avec un attribut name (défaut None)
  • Avec un attribut address (défaut None)
  • Instanciez deux nouveaux objets de cette classe (différenciez noms de variables et de classes)
  • Affichez la valeur de l'attribut name de l'un des objets

Exercice 2

  • Déclarez une classe Book
  • Avec des attributs title (None), author (None), year (None)
  • Instanciez un nouvel objet de cette classe
  • Modifiez les attributs title et author
  • Affichez la valeur de ces attributs

Exercice 3 (méthodes)

  • Réutilisez la classe Library
  • Ajoutez-y un attribut is_open (True)
  • Ajoutez une méthode open(value=True) qui change l'attribut is_open
  • Ajoutez une méthode show_status() qui affiche l'état de la bibliothèque :
    • "Bibliothèque <nom> :"
    • "État : Ouverte" (ou "fermée")

Exercice 4 (Redéfinition de l'instanciation)

  • Réutilisez la classe Library
  • Définissez la méthode __init__(), qui accepte des arguments name et address :
    • name est un argument à valeur par défaut, à None
    • address possède une valeur par défaut à None
    • La méthode utilise ces arguments pour initialiser les attributs de self.
  • Instanciez deux nouveaux objets de cette classe
  • Exécutez la méthode show_status() sur ces deux objets

Exercice 5 (Héritage)

  • Définissez une classe ComicBook héritant de Book
  • Cette classe contient en plus un attribut is_color (True)
  • Instanciez un objet de chacune des deux classes Book et ComicBook
  • Vérifiez que l'objet de type ComicBook est bien un Book :
    • en utilisant la fonction isinstance(object, class)

Exercice 6 (Polymorphisme)

  • Ajoutez un attribut is_published sur la classe Book
  • Ajoutez une méthode publish(value) sur Book, qui change l'attribut is_published
  • Redéfinissez la méthode publish(value) sur ComicBook, qui fait la même chose que dans Book (fonction super()), puis affiche "Comic book mis à jour"
  • Testez les méthodes sur deux objets, de type Book et ComicBook.

Exercice B1 (staticmethod)

  • Écrivez une méthode statique dont la syntaxe est correcte.