public:mco-2:expose

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:mco-2:expose [2016/04/21 12:40] fbruckerpublic:mco-2:expose [2016/04/29 08:31] (Version actuelle) fbrucker
Ligne 1: Ligne 1:
 +====== Exposés ======
 +
 +Toutes les personne d'un groupe de TD doivent être passées à la fin des 8 séances de présentations. 
 +
 +Les groupes de présentation doivent être homogènes (3 à 4 personnes). À Chaque groupe de TD sa page qui doit être tenue à jour.
 +
 +===== Problèmes ===== 
 +
 +==== 1- pour le TP2 ====
 +
 +Testez et expliquez la classe Dice du TP1 (vous pourrez vous aider du corrigé). En particulier :
 +  * ses constructeurs (utilisation d'un constructeur et utilité d'en avoir plusieurs),
 +  * le fonctionnement de la méthode //void roll()//
 +  * utilisation et utilité des méthodes générées (//toString//, //equals// et //hashcode//)
 +  * que sont des //setter// et des //getter// ?
 +
 +==== 2- pour le TD1 ====
 +
 +En Java, il y a en gros deux façon de stoker un groupe d'objets :
 +   * les tableaux
 +   * les conteneurs, en particulier la classe ArrayList.
 +
 +On vous demande de comparer les deux façons de faire. Cette fois ci, c'est à vous de trouver l'information sur le net. Donnez les urls que vous avez utilisé pour votre présentation.
 +
 +On vous demande en particulier :
 +  * d'expliquer ce qu'est un tableau d'objets (création et utilisation),
 +  * d'expliquer ce qu'est une ''ArrayList'' (création et utilisation),
 +  * de montrer les différences entre les deux façons de faire. Quand préférer l'une par rapport à L'autre ?
 +  * Une ''ArrayList'' est souvent associée au terme //generics// en Java. Explicitez en 2 mots ce terme.
 +
 +==== 3- pour le TP3 ====
 +
 +Gestion des constantes en Java. 
 +
 +On vous demande : 
 +  * D'expliciter une des règles fondamentales en programmation concernant les constantes : //no magic number//.
 +  * De montrer les 2 grandes façons de gérer des constantes en Java :
 +    * utilisation du mot clé ''final''
 +    * utilisation des ''enum''
 +
 +
 +==== 4- pour le TD2 ====
 +
 +L’héritage en Java. 
 +
 +Tout ce dont vous avez besoin est disponible en suivant les 2 ressources suivantes : 
 +  * [[http://www.loria.fr/~abelaid/Enseignement/FC/Cours5-heritage.pdf]] 
 +  * [[https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html]]
 +
 +Il faudra en particulier expliciter : 
 +  * à quoi sert l'héritage
 +  * comment on l’utilise en java (mots clés extends et protected)
 +  * utilisation du mot clé ''super'' (constructeur et autres méthodes)
 +
 +==== 5- pour le TP4 ====
 +
 +Méthodes et attributs de classes.
 +
 +Il faudra en particulier expliciter : 
 +  * les différences avec les attributs et méthodes classiques (utilisés pour les objets)
 +  * le mot clé ''static''
 +  * l'utilisation de méthodes/attributs de classes pour :
 +    * la gestion des constantes
 +    * le design pattern factory (qu'est-ce ? Comment on l'utilise ?)
 +    * On pourra prendre comme exemple la classe ''Color'' en javafx (voir TP3)
 +  * pourquoi est-ce que la méthode main (le programme principal) est static ?
 +
 +==== 6- pour le TD3 ====
 +
 +Les interfaces en Java.
 +
 +Une interface, à ne pas confondre avec une UI, est un moyen de gérer les dépendances entre classes. L'héritage gère les dépendances de code, les interfaces les dépendances de fonctionnalités. Voir le cours d'oracle [[http://docs.oracle.com/javase/tutorial/java/IandI/|sur les interfaces]].
 +
 +On vous demande de :
 +  * chercher et lire de la documentation sur les interfaces,
 +  * comprendre la syntaxe d'une interface,
 +  * de montrer à quoi cela peut servir,
 +  * de les différencier de l'héritage.
 +
 +==== 7- pour le TP5 ====
 +
 +Notions de //design pattern//.
 +
 +On vous demande d'expliquer en quelques phrases ce qu'est un design pattern en conception objet. Vous vous attarderez ensuite sur un design pattern spécifique : le design pattern strategy.
 +En particulier :
 +  * vous motiverez son utilisation,
 +  * vous donnerez et expliciterez son diagramme UML et des elements de son implementation en Java,
 +  * vous donnerez quelques exemples pratiques d'utilisation.
 +
 +==== 8- pour le TP6 ====
 +
 +Programmation évènementielle
 +
 +On vous demande d'expliquer ce qu'est la programmation évènementielle en informatique. Vous pourrez vous aider de documents comme :
 +  * la [[http://docs.oracle.com/javase/8/javafx/events-tutorial/events.htm#JFXED117|documentation de javafx 8]]
 +  * un [[http://www.lifl.fr/~casiez/IHM/CTD/Evenements.pdf|cours assez general]] mais qui met en avant le design pattern observer très utile
 +  * un [[http://jacques.bapst.home.hefr.ch/ihm1/cours/ihm1_fx_06.pdf| cours orienté javafx]]
 +