4. Instructions 1 - Université de Bourgogne

publicité
Université de Bourgogne
Année universitaire 2016-2017
2. Des astres
Info 21 — programmation objet
Soient les définitions approximatives suivantes :
TD 5 — relations d'utilisation et de généralisation
1. Corps céleste : objet de l'univers obéissant aux lois de la physique newtonienne ;
2. Étoile : corps céleste producteur et émetteur d'énergie ;
Objet du TD : distinguer les relations de généralisation (sorte de) des relations d'utilisation.
3. Planète : corps céleste gravitant autour d'une étoile et assez massif pour attirer des
corps à proximité :
• Utilisation : construction de la définition d'une classe en utilisant des références à des instances d'autres classes
4. Galaxie : ensemble d'étoiles, de gaz et de poussières dont la cohésion est assurée par la
gravitation ;
• Généralisation : lien entre une classe et une classe plus générale « de même nature ». La
description de la classe la plus générale vaut aussi pour la classe la plus spécifique (héritage) et les instances de la classe la plus spécifique appartiennent à la classe la plus générale.
5. Système stellaire : volume d'espace dans lequel s'applique considérablement le pouvoir
attractif gravitationnel d'une étoile. Il comprend les planètes qui sont en orbite autour
de l'étoile ainsi que les satellites de ces planètes ;
6. Géante rouge : étoile en fin de vie de dimensions et température plusieurs centaines de
fois supérieures à celles du soleil ;
1. Compte bancaire
7. Comète : corps céleste constitué de glace se sublimant par échauffement en se rapprochant d'une étoile ;
1. Un compte bancaire comporte un type : compte courant (CC), plan/compte épargne logement (PEL/CEL), plan d'épargne populaire (PEP), livretA …, un numérodecompte, un
solde, un 9tulaire — qui est un client de la banque — et on peut y attacher une cartede
paiement. Il peut être créé vide (solde = 0) ou avec un versement initial d'une certaine
somme. On peut y effectuer des virements et des retraits, soit directement (somme précisée en paramètre), soit en provenance d'un autrecompte bancaire. Il peut aussi être clôturé. Il comporte la listedesopéra9ons qui ont été effectuées sur lui (créa9on du compte,
virements, retraits, clôture) associées à leur date.
2. Un client est représenté par son nom, un prénom, une ou deux adresses, un numéro de
téléphone à dix chiffres. Il peut posséder un ou plusieurs comptes et peut connaître la
sommetotale dont il dispose en sommant les soldes de tous ses comptes.
8. Satellite naturel : corps céleste rocheux gravitant autour d'une planète ;
9. Constellation : groupe apparent d'étoiles défini arbitrairement par les astronomes.
Question
Décrivez par un diagramme les relations d'utilisation et les relation de généralisation de la
classe la plus spécifique à la plus générale.
3. Quelle relation ?
Indiquez les éventuelles relations de généralisation ou les liens d'utilisation qu'il peut exister
entre les classes suivantes :
3. Une adresse comporte un nomdevoie, un typedevoie, un numérodanslavoie, un code
postal et un nomdeville.
1. personne et enseignant, étudiant et enseignant, salarié et enseignant ;
4. Une carte de paiement comporte un type (visa, visa interna9onal, gold,…), un numéro, le
nom et le prénom du titulaire du compte correspondant, elle a aussi une dated'expira9on.
2. droite et segment, disque et point, triangle et polygone, polygone et quadrilatère, quadrilatère et rectangle ;
Questions
1. Déterminez quelles classes sont nécessaires pour représenter cette situation ;
2. Décrivez les attributs (noms et types) ;
3. journal et hebdomadaire, journal et quotidien, mensuel et hebdomadaire.
4. Instructions1
Décrivez la structure des classes qui permettent de modéliser les instructions du langage
java. On distinguera les affectations, les conditionnelles, les instructions répétitives et les
blocs. Indiquez clairement s'il y a un lien sorte de ou un lien de composition entre les
classes. Donnez les principaux attributs des classes.
3. Décrivez sous forme de diagramme les relations d'utilisation entre les classes (il n'y a pas
d'héritage ici) ;
4. Décrivez les signatures des méthodes et des constructeurs nécessaires pour représenter le
la situation de l'énoncé (hors toString et equals), en indiquant bien à quelles classes
ils appartiennent (n'écrivez pas les corps des méthodes).
1
Facultatif : si tout le reste est fini
Téléchargement