2.2 KiB
2.2 KiB
Exercices sur les classes (basique)
Exercice 1
(Thème bibliothèque)
- Déclarez une classe
Library - Avec un attribut
name(défautNone) - Avec un attribut
address(défautNone) - Instanciez deux nouveaux objets de cette classe (différenciez noms de variables et de classes)
- Affichez la valeur de l'attribut
namede 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
titleetauthor - 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'attributis_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 argumentsnameetaddress:nameest un argument à valeur par défaut, àNoneaddresspossè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
ComicBookhéritant deBook - Cette classe contient en plus un attribut
is_color(True) - Instanciez un objet de chacune des deux classes
BooketComicBook - Vérifiez que l'objet de type
ComicBookest bien unBook:- en utilisant la fonction
isinstance(object, class)
- en utilisant la fonction
Exercice 6 (Polymorphisme)
- Ajoutez un attribut
is_publishedsur la classeBook - Ajoutez une méthode
publish(value)surBook, qui change l'attributis_published - Redéfinissez la méthode
publish(value)surComicBook, qui fait la même chose que dansBook(fonctionsuper()), puis affiche"Comic book mis à jour" - Testez les méthodes sur deux objets, de type
BooketComicBook.
Exercice B1 (staticmethod)
- Écrivez une méthode statique dont la syntaxe est correcte.