TD3 B
Exercice 1 : Classes et Propriétés
Objectif : Revoir les classes, les constructeurs (primaire et secondaire), ainsi que les propriétés avec getters et setters en Kotlin.
- Créer une classe Voiture avec les propriétés marque, modèle, et année.
- Utiliser un constructeur primaire pour initialiser marque et modèle, et un constructeur secondaire pour initialiser également année.
- Surdéfinir le getter de la propriété année pour empêcher qu’elle soit inférieure à 1886 (date d’invention de l’automobile).
- Ajouter une méthode démarrer qui affiche un message.
Exercice 2 : Héritage, Surcharge, et Propriétés avec get/set
Objectif : Travailler sur l'héritage, la surdéfinition de méthodes et de getter/setter.
- Créer une classe Animal avec une propriété nom, et une méthode faireDuBruit().
- Ajouter une méthode description() qui retourne la phrase “Je suis un animal”.
- Créer deux sous-classes, Chien et Chat, en surdéfinissant faireDuBruit() et description().
- Surdéfinir le getter de la propriété nom pour toujours retourner le nom en majuscules.
Exercice 3 : Constructeurs et Propriétés avec get/set
Objectif : Explorer les constructeurs primaires et secondaires, et la surdéfinition des getters/setters.
- Créer une interface Jouable avec une méthode jouer().
- Créer une classe Instrument avec une propriété volume ayant un getter et un setter personnalisé pour s'assurer que le volume reste entre 0 et 100.
- Utiliser un constructeur primaire pour initialiser volume, et un constructeur secondaire pour initialiser également une propriété type.
- Créer deux sous-classes Guitare et Piano, et surcharger jouer().
Exercice 4 : Constructeur Secondaire, Propriétés Nullable, et Smart Casts
Objectif : Gérer les types nullables, les constructeurs secondaires, et l'initialisation.
- Créer une classe Utilisateur avec une propriété nullable adresseEmail: String?.
- Ajouter un constructeur secondaire qui permet d'initialiser un utilisateur sans email.
- Surdéfinir le getter pour renvoyer une valeur par défaut si l'email est null.
- Implémenter une méthode pour envoyer un email si l'email est non-null, en utilisant les smart casts ou l'opérateur safe call (?.).