IUT Bordeaux 1

Transcription

IUT Bordeaux 1
IUT de Bordeaux
Département informatique
2015 - 2016
CPOA – S3
TD1 : Génération de Code en Java – les bases
1. Ecrivez le code de la classe Article en Java
Article
-numArticle : int << id>>
-prixAchat : float = 0
-libelleArticle : String = « »
-nombreArticles : int = 0
+Article(prix, libelle)
2. Ecrivez le code
Magasin.
la classe Employé (sans le corps des méthodes) et le code de la Classe
Magasin
Employe
-numEmpl : int <<id>>
-nomEmpl : String
-adrEmpl : Sting
-telEmpl : String
-emailEmpl : String
lieuTravail
MesEmployes
0 ..1
*
dirigeant
0 ..1
de-ma-responsabilité
0 ..1
-numMag : int <<id>>
-nomMag : String
-adrMag : String
+ Magasin(nom, adr)
3. Complétez le code de la classe Magasin. Modifiez si nécessaire le code de la classe Article.
Proposez une solution pour coder « prix-article».
PrixArticle
Magasin
-prixVente :float
-numMag : int <<id>>
-nomMag : String
-adrMag : String
+ Magasin(nom, adr)
Article
enVente
-numArticle : int << id>>
-prixAchat : float
-libelleArticle : String
1 . .* +Article(prix, libellé)
*
4. Votre code permet-il facilement de trouvez le magasin ayant le meilleur prix pour un article
donné ?
5. Modifiez votre code et votre diagramme de classes pour faciliter ce calcul.
6. Donnez les inconvénients de votre nouvelle solution.
1
7. Quel est le nom du diagramme suivant ?
a. A quoi correspond la flèche entre PRIXARTICLE et MAGASIN ?
b. A quoi correspond la flèche entre PRIXARTICLE et ARTICLE ?
c. A quoi correspond la flèche d’étiquette « NUMMAG = NUMMAG_LIEUDETRA VAIL »
d. A quoi correspond la flèche d’étiquette « NUMEMP = NUMEMP_DIRIGEANT »
8. Expliquez, avec le maximum de détails, les différents diagrammes de Classes : expliquez la
signification de ra, rb, rc, rd, re et rf. Ecrivez le code des classes (sans le corps des méthodes).
rb
1
ra
*
C2
C5
rd
??
rc
1
C6
C9
rf
1
re
C0
C1
*
9. Ecrivez le code des classes (sans le corps des méthodes)
<<interface>> C8
C7
+meth1() : boolean
+meth7() : C3
monC3 1
C4
C3
+ meth4() : int
+ meth2() : float
+meth5() : char <<abstract>>
+meth3() : float
2
10. En complément à la réponse à la question 9, un programmateur débutant a écrit le code suivant.
Commentez et corrigez ce code.
class Main {
public static void main (String[] args) {
C8 c8 = new C8() ;
System.out.println(C4.meth2()) ;
System.out.println(C3.meth2()) ;
C3 c3 = new C3() ;
System.out.println(c3.meth1()) ;
System.out.println(c3.meth4()) ;
System.out.println(c3.meth3()) ;
System.out.println(C3.meth3()) ;
C7 c7 = new C7(c3) ;
System.out.println(c7.meth1()) ;
System.out.println(c7.meth7()) ;
System.out.println(c7.meth7().meth3()) ;
System.out.println(c7.meth7().meth4()) ;
}
}
3

Documents pareils