S2T
- TDs première période
- TDs deuxième période :
Corrections
Corrections
A l'issue de cette séance, un étudiant doit savoir se connecter à des codes existants en implémentant les interfaces données, et en utilisant judicieusement les classes “frontières” données.
Ces aspects, peut être pas en terme de code, seront abordés en examen.
Les codes simulant une machine vous sont donnés. Les seules parties qui vous interessent sont la classe FencingPiste
qui définit une “machine” et l'interface MatchInterface
que vous devrez implémenter pour gérer les matchs.
Voici le modèle qui décrit les classes FencingPiste
et MatchInterface
.
Voici les javadoc (tronqués pour cause de problèmes de chargement de fichier html dans cet environnement).
A Faire :
javac -cp pistePK.jar pistePK/testPK/Match1.java
1)javac -cp .:pistePK.jar pistePK/testPK/TestPist.java
java -cp .:pistePK.jar pistePK.testPK.TestPist
Comme vous avez dû le constater la “FencingPiste” est fournie avec une interface MatchInterface
, qui vous permet d'utiliser votre propre classe Match, il suffit pour cela qu'elle “implemente” l'interface.
Voici l'interface MatchInterface
qui vous est fournie.
package pistePK; /** * Cette interface est utilisée par les machines pour visualiser le nom des joueurs * et enregistrer le nom des gagnants * Bien sur, chaque système peut implémenter cette interface comme il le veut * En particulier pour retrouver le gagnant, et pas forcement avec seulement son nom. * @author blay */ public interface MatchInterface { /** * Retourne le nom du joueur de gauche * @return String */ public String getLeftPlayer(); /** * Retourne le nom du joueur de droite * @return String */ String getRightPlayer(); /** * Enregistre le nom du joueur gagnant * */ void setWinner(String matchWinner); }
Votre code ne correspond probablement pas exactement à l'interface de MatchInterface
.Vous manipulez par exemple probablement des joueurs alors qu'ici seul le nom du joueur est demandé et utilisé! Cela ne signifie pas que vous devez changer le principe de votre classe mais que vous devez ajouter et implémenter les méthodes exigées par l'interface.
Vous devez donc adapter VOTRE CODE (et pas l'inverse, en général, on n'a pas le droit de modifier les codes fournis) pour qu'il implémente l'interface MatchInterface
.
Rappel : Pour dire qu'une classe implémente une interface
public class Match implements MatchInterface {
Rappel : une classe qui implémente une interface doit implémenter toutes les méthodes définies par l'interface.
A Faire :
Match
construite la semaine dernière pour qu'elle implémente l'interface.Votre objectif est de faire en sorte que que le code écrit à la dernière séance fasse maintenant référence aux machines qui vous ont été fournis.
A Faire :
A Faire :
Amusez vous !