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édenteDernière révisionLes deux révisions suivantes | ||
enseignement:d35:tp:tp2 [2014/03/19 17:01] – Emmanuel Bruno | enseignement:d35:tp:tp2 [2018/11/09 10:18] – Emmanuel Bruno | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== D35 - TP2 - Révision de Java, mise en pratique de Redmine+git+maven ====== | ||
- | http:// | ||
- | |||
- | ===== Objectif ====== | ||
- | L’objectif de ce TP est réviser les concepts de base du langage Java que vous | ||
- | devez maîtriser. Il permettra une première mise en pratique réel de l’utilisation de git, de | ||
- | redmine (sur https:// | ||
- | |||
- | Pour tous les exercices, vous devez utiliser l’environnement Eclipse (http:// | ||
- | |||
- | La compilation et la génération de la documentation et des artefacts (fichier jar) seront réalisés avec Maven | ||
- | ===== Au fur et à mesure du développement ===== | ||
- | |||
- | ==== Livraison du résultat ==== | ||
- | Fabriquer automatiquement avec maven un fichier ''< | ||
- | |||
- | ==== Gestion des log ==== | ||
- | (Après une présentation rapide de log4j) | ||
- | En utilisant soit Log4J soit le système du jdk | ||
- | – http:// | ||
- | Modifier vos classes pour que les logs sont gérés proprement à l’aide de la classe log4j. | ||
- | |||
- | ==== Test de vos classes avec JUnit ==== | ||
- | | ||
- | Mettez en place des tests unitaires au fur et à mesure du développement en utilisant Junit (http:// | ||
- | |||
- | L’exécution des tests sera faite par maven. | ||
- | |||
- | ===== Classes, Instances et Héritage ===== | ||
- | |||
- | ==== Hiérarchie ==== | ||
- | Dans un sous-paquetage appelé " | ||
- | une hiérarchie d’animaux : Tous les animaux doivent avoir un nom, ils sont soit des | ||
- | mammifères, | ||
- | Créer une classe exécutable Test, dont la méthode '' | ||
- | aigles. Avec quel type de références peut-on les manipuler ? | ||
- | |||
- | ==== Constructeurs, | ||
- | Ajouter des constructeurs et mettez en place les méthodes bases d' | ||
- | |||
- | ==== Collections ==== | ||
- | http:// | ||
- | |||
- | Nous allons maintenant regrouper les animaux dans des zoos qui sont des collections | ||
- | d’animaux. Créer une classe '' | ||
- | méthode '' | ||
- | zoos et peuplez les avec des animaux pour obtenir le résultat suivant : | ||
- | |||
- | Affichage du zoo : mon Zoo | ||
- | Je m’appelle Germaine et je suis un animal, je suis un mammifère, je suis une vache | ||
- | Je m’appelle Geronimo et je suis un animal, je suis un oiseau, je suis un aigle | ||
- | Je m’appelle Marguerite et je suis un animal, je suis un mammifère, je suis une vache | ||
- | Affichage du zoo : ton Zoo | ||
- | Je m’appelle Gertrude et je suis un animal, je suis un mammifère, je suis une vache | ||
- | Je m’appelle Philomène et je suis un animal, je suis un mammifère, je suis une vache | ||
- | Je m’appelle Tiki et je suis un animal, je suis un oiseau, je suis un aigle | ||
- | |||
- | Comment s’assurer que deux animaux qui ont le même nom ne peuvent être ajouté au | ||
- | même zoo ? | ||
- | |||
- | ==== Administration de classes ==== | ||
- | Comment faire pour qu’une référence vers tous les animaux (y compris ceux qui | ||
- | n’ont pas été ajouté à un zoo) soient conservée ? L’ensemble des animaux sera appelé la | ||
- | faune. Ajouter une méthode '' | ||
- | |||
- | ==== Héritage Multiple / Interfaces ==== | ||
- | On souhaite pouvoir distinguer, parmi les animaux, les carnivores et les herbivores. | ||
- | Quel est le problème avec la hiérarchie de classe actuelle? Une solution à ce problème | ||
- | consiste à utiliser deux interfaces (un carnivore peut manger un autre animal, un herbivore | ||
- | broute). Définissez et implanter ces deux interfaces pour manipuler les aigles et les vaches à travers celles-ci. | ||
- | |||
- | ===== Entrées/ | ||
- | – http:// | ||
- | |||
- | Ajouter à la classe Zoo, une méthode '' | ||
- | enregistre un zoo complet dans un fichier dont le nom est passé en paramètre. Ajouter une | ||
- | méthode '' | ||
- | un objet '' | ||
- | en paramètre. | ||
- | |||
- | |||
- | ===== Persistance avec JPA ===== | ||
- | **Obligatoire pour la suite.** En utilisant JPA, mettez en place la persistance de l' | ||
- | |||
- | Pour l' | ||
- | http:// | ||
- | ===== IHM ===== | ||
- | Créer une petite IHM swing permettant d’ajouter des vaches ou des aigles à la faune en | ||
- | précisant leur nom. A chaque ajout, l’affichage de la faune devra être mis à jour. | ||
- | |||
- | {{tag> | ||
- | |||
- | ---- dataentry page ---- | ||
- | type : TP | ||
- | enseignement_tags | ||
- | technologie_tags | ||
- | theme_tags | ||
- | ---- | ||
---- struct data ---- | ---- struct data ---- | ||
+ | metadata.level | ||
+ | metadata.Type | ||
+ | metadata.Nom | ||
+ | metadata.Enseignements : D35 | ||
+ | metadata.Promotions | ||
+ | metadata.Technologies : Maven, Java, JPA, Git | ||
+ | metadata.Thèmes | ||
+ | metadata.Description : | ||
---- | ---- | ||