Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
cnam:utc503:td3-b [2024/10/23 02:26] – créée jcheron | cnam: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), | Objectif : Revoir les classes, les constructeurs (primaire et secondaire), | ||
- | - Créer une classe Voiture avec les propriétés marque, modèle, et année. | + | - Créer une classe |
- | - 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 |
- | - 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é |
- | - Ajouter une méthode démarrer qui affiche un message. | + | - Ajouter une méthode |
===== 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, | - Créer deux sous-classes, | ||
- 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, | ||
+ | |||
+ | - 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' | ||
+ | - 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, | ||
+ | |||
+ | - Créer une classe **Utilisateur** avec une propriété nullable **adresseEmail**: | ||
+ | - Ajouter un constructeur secondaire qui permet d' | ||
+ | - Surdéfinir le getter pour renvoyer une valeur par défaut si l' | ||
+ | - Implémenter une méthode pour envoyer un email si l' | ||
+ | |||
+ | |||
+ |