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
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
etauthor
- 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 argumentsname
etaddress
: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 deBook
- Cette classe contient en plus un attribut
is_color
(True
) - Instanciez un objet de chacune des deux classes
Book
etComicBook
- Vérifiez que l'objet de type
ComicBook
est bien unBook
:- en utilisant la fonction
isinstance(object, class)
- en utilisant la fonction
Exercice 6 (Polymorphisme)
- Ajoutez un attribut
is_published
sur 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
Book
etComicBook
.
Exercice B1 (staticmethod)
- Écrivez une méthode statique dont la syntaxe est correcte.