
634.1/PROGRAMMATION
Travauxpratiques–SérieP07
PeterDAEHNE&JohannSIEVERING 1/2Version2.0
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Suitegénériqueimplantant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nombred’é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
SuiteConstructeur. Crée une Suite vide, c’est‐à‐dire ne contenant aucun
élément.
ajouterAjoute de nouveaux éléments à la fin de la Suite. Le nombre
d’élémentsajoutésestvariable(onpeutajouter0élément).
videTestesilaSuiteestvideounon.
premierRetourne le premier élément de la Suite. Lève l’exception
SuiteVideExceptionsilaSuiteestvide.
saufPremierRetournelaSuiteforméedelensemble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estobligatoirement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quelle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 uneSuitedIntegers, le
second(TestPers.java)avecuneSuitedePersonnes.
3. Développerdesprogrammesillustrantlessituationsd’exceptiondans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 2/2Version2.0
Contraintesimpératives
- La classeSuitedé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nest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 NetBeans634.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fichiersSuite.java, TestInt.javaetTestPers.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1(JS):mercredi04.05.2016à14h00 Groupe2(PD):jeudi05.05.2016à12h00
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !