Exercice 1 : Questions théoriques
1.1)
|
Lorsque Poseidon génère le
code Java pour la classe Facture ci-dessous, il utilisera la classe Vector
pour établir la relation entre les classes.
Certains autres auteurs vont plutôt utiliser la classe ArrayList
pour établir la même relation.
Quelle est la différence
fondamentale entre la classe Vector et la classe ArrayList du
package java.util? Pour
répondre à cette question, consultez l'aide interactive de JBuilder7 -ou- la
documentation du package java.util sur le site Internet http://java.sun.com/j2se/1.4.1/docs/api/
|
|||
|
|
|||
1.2)
|
Lorsque Poseidon génère le
code Java pour la classe Catalogue ci-dessous, il utilisera la classe Hashtable
pour établir la relation entre les classes.
Certains autres auteurs vont plutôt utiliser la classe HashMap
pour établir la même relation.
Quelle est la différence
fondamentale entre la classe Hashtable et la classe HashMap du
package java.util? Pour
répondre à cette question, consultez l'aide interactive de JBuilder7 -ou- la
documentation du package java.util sur le site Internet http://java.sun.com/j2se/1.4.1/docs/api/
|
Exercice 2 : Étude de cas: Collection de disques
Soit
le diagramme de classe ci-dessous:
2.1) Dessiner un diagramme d'objets conforme au
diagramme de classe ci-dessus.
Assurez-vous que votre diagramme illustre toutes les possibilités des
relations et toutes leurs multiplicités.
2.2) Implanter le code Java correspondant au
diagramme de classe. N'oubliez pas de
définir toutes les méthodes set…, get… et toString(). Dans chaque classe, codez une méthode main()
afin de tester toutes les méthodes de la classe. Assurez-vous de respecter toutes les
relations, leur visibilité, les attributs et les méthodes.
N.B.: Les valeurs de retour
des méthodes n'apparaissent pas dans le tableau ci-dessous.
Classe
|
Méthode
|
Description
|
Oeuvre
|
clone()
|
Cloner adéquatement
|
|
|
|
Disque
|
creerOeuvre( String leNom, int laDuree )
|
Créer une oeuvre et
l'associer au disque courant.
|
Disque
|
detruireOeuvre ( Oeuvre laOeuvre )
|
Détruire l'oeuvre demandée du disque
courant
|
Disque
|
detruireOeuvre ( int indice )
|
Détruire la xième oeuvre du disque
courant
|
Disque
|
getOeuvre ( int indice )
|
Retourne la xième oeuvre du disque
courant
Retourne null si
l'indice est hors limite
|
Disque
|
getNbOeuvres()
|
Retourne la quantité de
oeuvres de la pièce courante (i.e., associées à la pièce courante)
|
Disque
|
getDuree()
|
La durée du disque
correspond à la durée totale des œuvres contenues sur le disque
|
Disque
|
getPrix()
|
Le prix d'un disque se
calcule ainsi:
la quantité d'œuvres *
prixOeuvre
+ la durée totale du
disque * prixMinute
|
Disque
|
clone()
|
Cloner
adéquatement
|
|
|
|
Collection
|
ajouter( Disque leDisque )
|
Associer la collection au
disque reçu en paramètre
|
Collection
|
retirer( Disque leDisque )
|
Dissocier la collection du
disque reçu en paramètre
|
Collection
|
getDisque( Integer leIdentificateur )
|
Retourne le disque dont
l'identificateur correspond à celui reçu en paramètre
|
Collection
|
getDisque( String leNom )
|
Retourne le disque dont le
nom correspond à celui reçu en paramètre
|
Collection
|
getNbDisques()
|
Retourne la quantité de disques
dans la collection courante
|
Collection
|
getPrix()
|
Le prix de la collection
correspond au prix total de tous les disques regroupées dans la collection.
|
Collection
|
getPrix( String leIdentificateur )
|
Retourne le prix
|
Si vous avez besoin d'embaucher un véritable pirate informatique pour surveiller / pirater à distance le téléphone de votre partenaire, échanger ou récupérer votre bitcoin volé en jours / semaines, ou pirater une base de données avec une confidentialité garantie, contactez easybinarysolutions@gmail.com ou whatsapp: +1 3478577580, ils sont efficace et confidentiel.
RépondreSupprimer