Objet du TD: distinguer les relations de généralisation (sorte de) des relations d'utilisa-
tion.
•Utilisation: construction de la dénition d'une classe en utilisant des références à des ins-
tances d'autres classes
•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écique (héri-
tage) et les instances de la classe la plus spécique appartiennent à la classe la plus géné-
rale.
1. Compte bancaire
1. Un !"#$%&' ()*!)+,& comporte un %-$& : compte courant (..), plan/compte épargne lo-
gement (/01/.01), plan d'épargne populaire (/0/), 2+3,&%'4…, un *5#6,"'7&' !"#$%&, un
8"27&, un 9%52)+,& — qui est un !2+&*% de la banque — et on peut y attacher une !),%&'7&'
$)+&#&*%. Il peut être créé vide (solde = 0) ou avec un versement initial d'une certaine
somme. On peut y eectuer des 3+,&#&*%8 et des ,&%,)+%8, soit directement (8"##& préci-
sée en paramètre), soit en provenance d'un )5%,&'!"#$%& bancaire. Il peut aussi être clô-
turé. Il comporte la 2+8%&'7&8'"$6,)9"*8 qui ont été eectuées sur lui (!,6)9"* du compte,
3+,&#&*%8, ,&%,)+%8, !2:%5,&) associées à leur date.
2. Un !2+&*% est représenté par son *"#, un $,6*"#, une ou deux )7,&88&8, un *5#6,"'7&'
%626$;"*& à dix chires. Il peut posséder un ou plusieurs !"#$%&8 et peut connaître la
8"##&'%"%)2& dont il dispose en sommant les soldes de tous ses comptes.
3. Une )7,&88& comporte un *"#'7&'3"+&, un %-$&'7&'3"+&, un *5#6,"'7)*8' 2)'3"+&, un !"7&'
$"8%)2 et un *"#'7&'3+22&.
4. Une !),%&' 7&' $)+&#&*% comporte un %-$& (3+8), 3+8)' +*%&,*)9"*)2, <"27,…), un *5#6,", le
*"# et le $,6*"# du titulaire du !"#$%& correspondant, elle a aussi une 7)%&'7=&>$+,)9"*.
Questions
1. Déterminez quelles classes sont nécessaires pour représenter cette situation ;
2. Décrivez les attributs (noms et types);
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).
2. Des astres
Soient les dénitions approximatives suivantes:
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 ;
3. Planète : corps céleste gravitant autour d'une étoile et assez massif pour attirer des
corps à proximité :
4. Galaxie : ensemble d'étoiles, de gaz et de poussières dont la cohésion est assurée par la
gravitation;
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 n de vie de dimensions et température plusieurs centaines de
fois supérieures à celles du soleil ;
7. Comète : corps céleste constitué de glace se sublimant par échauement en se rappro-
chant d'une étoile;
8. Satellite naturel : corps céleste rocheux gravitant autour d'une planète ;
9. Constellation : groupe apparent d'étoiles déni 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écique à 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:
1. personne et enseignant, étudiant et enseignant, salarié et enseignant;
2. droite et segment, disque et point, triangle et polygone, polygone et quadrilatère, qua-
drilatère et rectangle;
3. journal et hebdomadaire, journal et quotidien, mensuel et hebdomadaire.
4. Instructions
1
Décrivez la structure des classes qui permettent de modéliser les instructions du langage
java. On distinguera les aectations, 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.!