Créer et manipuler des classes
Les exercices ci-dessous peuvent être réalisés dans un seul et unique fichier. Vous mettrez donc votre classe à jour à chaque exercice.
Question
Exercice 1 : Définir une classe
Définir une classe
Chienqui représente un chien avec un nom, une race et un âge.
La classe doit avoir une méthode
__init__pour initialiser les attributs du chien avec les valeurs données.
La classe doit également avoir des méthodes
get_nom,get_raceetget_agepour retourner les valeurs des attributs du chien.
Question
Exercice 2 : Créer des objets
Créer deux objets
chien1etchien2à partir de la classeChienen utilisant les valeurs de votre choix pour les attributs.
Utiliser les méthodes
get_nom,get_raceetget_agepour afficher les valeurs des attributs des deux chiens.
Question
Exercice 3 : Définir des méthodes
Ajouter une méthode
aboyerà la classeChienqui affiche un message indiquant que le chien aboie, on rappelera dans le message, le nom du chien.
Ajouter également une méthode
dormirqui prend en argument le nombre d’heures de sommeil et affiche un message indiquant que le chien dort pendant ce temps.
Appeler les méthodes
aboyeretdormirsur les deux objetschien1etchien2.
Question
Exercice 4 : Modifier des attributs
Ajouter des méthodes
set_nom,set_raceetset_ageà la classeChienpour modifier les valeurs des attributs du chien.
Utiliser ces méthodes pour modifier les valeurs des attributs des deux objets
chien1etchien2.
Afficher à nouveau les valeurs des attributs des deux chiens pour vérifier que les modifications ont bien été prises en compte.
Question
Exercice 5 : Utiliser des méthodes spéciales
Modifier la classe
Chienpour ajouter une méthode spéciale__str__qui retourne une chaîne de caractères représentant le chien.
Ajouter également une méthode spéciale
__repr__qui retourne une représentation formelle du chien.
Créer un objet
chien3à partir de la classeChienet utiliser les fonctionsprintetreprpour afficher les représentations en chaîne de caractères et formelle du chien.
Question
Exercice 6 : Utiliser des méthodes de classe
Ajouter une méthode statique
creer_chiotà la classeChienqui prend en argument un nom et une race et crée un nouvel objetChienavec l’âge0.
Utiliser cette méthode pour créer un nouvel objet
chiot1à partir de la classeChien.
Afficher les attributs du nouvel objet
chiot1pour vérifier qu’il a bien été créé avec l’âge 0.
Question
Exercice 7 : Surcharge d’opérateurs
Ajouter une méthode spéciale
__add__à la classeChienpour surcharger l’opérateur+.
Cette méthode doit prendre en argument un autre objet
Chienet retourner un nouvel objetChienreprésentant un chiot issu des deux chiens parents. Si la race est identique, alors, elle est utilisée pour le chiot, sinon, vous pouvez mélanger les races.
Utiliser l’opérateur
+pour combiner les chienschien1etchien2en un seul objetchiot2.
Afficher les attributs du nouvel objet
chiot2pour vérifier qu’il a bien été créé.Ajouter une assertion afin de s'assurer que
autre_chienest bien un chien.