cnam:utc503:td3-b

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
cnam:utc503:td3-b [2024/10/23 02:26] – créée jcheroncnam:utc503:td3-b [2025/08/12 02:35] (Version actuelle) – modification externe 127.0.0.1
Ligne 5: Ligne 5:
 Objectif : Revoir les classes, les constructeurs (primaire et secondaire), ainsi que les propriétés avec getters et setters en Kotlin. 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. +  - 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. +  - 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). +  - 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.+  - Ajouter une méthode **démarrer** qui affiche un message.
  
 ===== Exercice 2 : Héritage, Surcharge, et Propriétés avec get/set ===== ===== Exercice 2 : Héritage, Surcharge, et Propriétés avec get/set =====
Ligne 18: Ligne 18:
   - Créer deux sous-classes, **Chien** et **Chat**, en surdéfinissant **faireDuBruit()** et **description()**.   - 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.   - 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 (?.).
 +
 +
 +
  • cnam/utc503/td3-b.1729643186.txt.gz
  • Dernière modification : il y a 8 semaines
  • (modification externe)