public:mco-2:expose

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.

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 ?

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.

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

L’héritage en Java.

Tout ce dont vous avez besoin est disponible en suivant les 2 ressources suivantes :

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)

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 ?

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 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.

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.

Programmation évènementielle

On vous demande d'expliquer ce qu'est la programmation évènementielle en informatique. Vous pourrez vous aider de documents comme :

  • public/mco-2/expose.txt
  • Dernière modification : 2016/04/29 08:31
  • de fbrucker