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.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. 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..*.