Télécharger Énoncé

publicité
634.1 / PROGRAMMATION Travaux pratiques – Série P07 Objectifs  Mettre en œuvre la généricité.  Concevoir une classe de bibliothèque générique sur la base de ses spécifications.  Réaliser une application mettant en œuvre la classe de bibliothèque conçue. Problème Concevoir et réaliser une classe Suite générique implantant une suite ordonnée d’éléments quelconques. La suite est homogène, c’est‐à‐dire que tous ses éléments sont de même type. Le nombre d’éléments de la suite n’est pas limité. Les méthodes d’accès à classe Suite sont définies ainsi : Nom de la méthode Effet Suite Constructeur. Crée une Suite vide, c’est‐à‐dire ne contenant aucun élément. ajouter Ajoute de nouveaux éléments à la fin de la Suite. Le nombre d’éléments ajoutés est variable (on peut ajouter 0 élément). vide Teste si la Suite est vide ou non. premier Retourne le premier élément de la Suite. Lève l’exception SuiteVideException si la Suite est vide. saufPremier Retourne la Suite formée de l’ensemble des éléments sauf le premier. Lève l’exception SuiteVideException si la Suite est vide. La structure de stockage employée pour mémoriser les éléments de la Suite est obligatoirement un tableau. L’implantation de votre classe ne fera donc référence à aucune structure de données fournie par la bibliothèque Java (hormis les classes standard du package java.lang). À faire 1. Développer la classe Suite (Suite.java) de telle sorte qu’elle satisfasse aux spécifications données dans l’énoncé du problème. Pour cela, vous devrez :  Définir la signature du constructeur et de chacune des méthodes d’accès.  Choisir une représentation de la Suite vide.  Implanter effectivement les méthodes d’accès. 2. Développer deux programmes illustrant le fonctionnement des méthodes de la classe développée en 1. Le premier programme (TestInt.java) illustrera ce fonctionnement avec une Suite d’Integers, le second (TestPers.java) avec une Suite de Personnes. 3. Développer des programmes illustrant les situations d’exception dans les deux cas énoncés au point 2. (Suite d’Integers, et Suite de Personnes). Si vous le jugez nécessaire, vous avez le droit de créer des classes supplémentaires. Peter DAEHNE & Johann SIEVERING 1 / 2 Version 2.0 Contraintes impératives - La classe Suite développée mettra en œuvre la généricité. Elle ne fera référence à aucune classe de bibliothèque (hormis les classes standard du package java.lang) pour implanter la structure de stockage employée pour mémoriser les éléments. Le nombre d’éléments qu’une Suite peut contenir n’est pas limité. - Le constructeur et les méthodes d’accès de la classe Suite réaliseront exactement les spécifications fournies, ni plus, ni moins ! Chaque fois que c’est possible, vous mettrez en œuvre les nouveautés introduites dans le langage Java à partir de la version 5 que nous avons étudiées en cours (généricité, nouvelle version du formant for, auto‐boxing/unboxing, méthodes d’arité variable). - Les programmes de test illustreront le fonctionnement de chacune des méthodes pour tous les cas d’utilisation envisageables. Leur objectif est d’illustrer le fonctionnement de la classe Suite, pas de constituer un jeu de test exhaustif de cette classe. Éléments fournis  Le projet NetBeans 634.1‐P07 comprenant la classe Personne (Personne.java) qui vous permettra de tester la classe Suite que vous devez développer, la classe SuiteVideException (SuiteVideException.java) ainsi que les fichiers Suite.java, TestInt.java et TestPers.java que vous devez compléter.  Ces éléments sont fournis sur le réseau en : \\hes‐nas‐prairie.hes.adhes.hesge.ch\Pedagogie\HEG\15‐16\IG\Algo&Prog\634.1\ÉnoncésTP\P07 Délai  Ce travail est à rendre à l’assistant en recopiant un zip contenant votre projet NetBeans sur le site CyberLearn prévu à cet effet. Groupe 2 (PD) : jeudi 05.05.2016 à 12h00 Groupe 1 (JS) : mercredi 04.05.2016 à 14h00 Peter DAEHNE & Johann SIEVERING 2 / 2 Version 2.0 
Téléchargement