Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
enseignement:d14:tp:tp2 [2018/11/06 16:29] – modification externe 127.0.0.1 | enseignement:d14:tp:tp2 [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== D14 - TP2 - Héritage, polymorphisme et interfaces en Java ====== | ||
+ | ===== Objectif ===== | ||
+ | L' | ||
+ | ===== Appel d'une méthode la classe mère ===== | ||
+ | Dans cet exercice nous allons modéliser des '' | ||
+ | |||
+ | ==== Modélisation par héritage et Instanciation ==== | ||
+ | * Modélisez cette hiérarchie (directement en Java) avec des classes. Ajoutez à chaque classe fille au moins une variable et une méthode nouvelle selon votre imagination (âge, nom, sexe, ...). | ||
+ | * Ajoutez une classe exécutable '' | ||
+ | * Redéfinissez la méthode '' | ||
+ | * Modifiez la méthode précédente pour qu' | ||
+ | |||
+ | ==== Polymorphisme simple ==== | ||
+ | * Avec quels types de références pouvez-vous manipuler les classes précédentes ? | ||
+ | * Dans la méthode '' | ||
+ | * Ajouter à chaque classe une méthode '' | ||
+ | <code java> | ||
+ | {new Animal(12), new Animal(), new Chien(5," | ||
+ | </ | ||
+ | soit de la forme : | ||
+ | < | ||
+ | Je suis un animal âgé de 12 an(s). | ||
+ | Je suis un animal. | ||
+ | Je suis un animal âgé de 5 an(s). Je suis un mammifère. Je suis un chien de nom Médor. | ||
+ | Je suis un animal. Je suis un mammifère. Je suis un homme. | ||
+ | Je suis un animal âgé de 25 an(s). Je suis un mammifère. Je suis un homme de nom Robert. | ||
+ | </ | ||
+ | ==== Classes abstraites ==== | ||
+ | * Modifiez les classes pour s' | ||
+ | * Est-ce que le moyen d' | ||
+ | * Écrivez une méthode '' | ||
+ | |||
+ | ==== Administration de classe et polymorphisme ==== | ||
+ | * Modifiez vos classes pour que l'on garde automatiquement des références (dans un tableau) vers tous les animaux créés (Vous vérifierez aussi que l'on ne crée pas plus de '' | ||
+ | * Créez une méthode (de classe ou d' | ||
+ | |||
+ | ==== Héritage multiple et Interface ==== | ||
+ | * On souhaite maintenant considérer que certains animaux (pas forcément tous) sont des carnivores (ils comportent la méthode '' | ||
+ | * Modifiez vos classes pour qu' | ||
+ | * Les carnivores : quand ils mangent, | ||
+ | * Les herbivores : les vaches affichent "'' | ||
+ | * Les hommes sont à les fois carnivores et herbivores, proposez deux solutions pour le représenter : | ||
+ | * Dans un premier temps, sans créer de nouvelle interface. | ||
+ | * Dans un second temps en créant une nouvelle interface '' | ||
+ | * Le polymorphisme est aussi utilisable avec les interfaces : | ||
+ | * Appliquez la méthode '' | ||
+ | * Créez deux tableaux '' | ||
+ | |||
+ | ===== Si vous avez déjà fini... ===== | ||
+ | Lire l' | ||
+ | et étudier les différents workflow possible : https:// | ||
+ | |||
+ | {{tag> | ||
---- struct data ---- | ---- struct data ---- | ||
+ | metadata.level | ||
+ | metadata.Type | ||
+ | metadata.Nom | ||
+ | metadata.Enseignements : D14 | ||
+ | metadata.Promotions | ||
+ | metadata.Technologies : Java | ||
+ | metadata.Thèmes | ||
+ | metadata.Description : | ||
---- | ---- | ||