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