Association, agrégation, composition
Les trois liens entre objets : association, agrégation et composition. Reconnaître chacun dans un énoncé ou dans du code Java, poser les multiplicités et la navigabilité, et traduire un lien en attributs.
- 22 cartes
- 4 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
Quelques cartes du deck
Association : de quoi s'agit-il ?
Voir la réponse
Lien durable entre deux classes : des objets de l'une connaissent des objets de l'autre et peuvent leur envoyer des messages.
En code, elle prend la forme d'un attribut qui garde une référence vers l'autre objet. Sans cette référence conservée, il n'y a pas de lien durable.
Quel lien Équipe–Joueur ce code exprime-t-il le mieux ?
```java
class Equipe {
private List<Joueur> joueurs;
Equipe(List<Joueur> joueurs) {
this.joueurs = joueurs;
}
}`- Une agrégation : les joueurs existent hors de l'équipe
- Une composition : l'équipe possède ses joueurs et les fait disparaître avec elle
- Un héritage : Equipe est un Joueur
- Une dépendance : Joueur n'est utilisé que le temps d'un appel
Voir la réponse
Une agrégation : les joueurs existent hors de l'équipe
Les joueurs sont créés ailleurs et reçus par le constructeur : l'équipe les regroupe sans les posséder, et ils lui survivent. Une composition créerait les objets elle-même.
Un lien dont la multiplicité maximale dépasse 1 se traduit en Java par une … d'objets, par exemple
List<Ligne>.Voir la réponse
Un lien dont la multiplicité maximale dépasse 1 se traduit en Java par une collection d'objets, par exemple
List<Ligne>.Un attribut simple ne peut désigner qu'un objet. Pour 0..* ou 1..*, l'attribut est une liste ou un ensemble, créé vide dans le constructeur.
Agrégation : de quoi s'agit-il ?
Voir la réponse
Lien « tout et parties » où le tout regroupe des parties qui existent indépendamment de lui et peuvent lui survivre.
Une équipe regroupe des joueurs, mais si l'équipe est dissoute les joueurs existent toujours et peuvent rejoindre une autre équipe. Le losange est vide.
Un étudiant propose de relier Cours et Étudiant par une composition. Pourquoi est-ce une erreur de modélisation ?
- Un étudiant existe sans ce cours et en suit d'autres : le cours ne le possède pas
- Un cours est trop abstrait pour posséder quoi que ce soit
- Le sens est inversé : c'est l'étudiant qui devrait posséder ses cours
- Un cours a plusieurs étudiants, ce qu'une composition interdit
Voir la réponse
Un étudiant existe sans ce cours et en suit d'autres : le cours ne le possède pas
La composition suppose des parties exclusives dont la vie dépend du tout. Un étudiant est partagé entre plusieurs cours : c'est une association. Le nombre de parties n'est pas en cause, une composition peut avoir 1..*.