Comment implémenter l'association en Java

La relation d'association indique qu'une classe connaît et détient une référence à une autre classe. Les associations peuvent être décrites comme une relation "has-a" car l'implémentation typique de Java passe par l'utilisation d'un champ d'instance. La relation peut être bidirectionnelle, chaque classe contenant une référence à l'autre. L'agrégation et la composition sont des types de relations d'association.

Les associations joignent une ou plusieurs choses contre une ou plusieurs choses. Un professeur peut être associé à un cours collégial (une relation un à un) mais aussi à chaque élève de sa classe (une relation un à plusieurs). Les étudiants d'une section peuvent être associés aux étudiants d'une autre section du même cours (une relation plusieurs-à-plusieurs) tandis que toutes les sections du cours se rapportent à un seul cours (une relation plusieurs-à-un).

Exemple d'association

Imaginez un jeu de guerre simple avec une classe AntiAircraftGun et une classe Bomber. Les deux classes doivent être conscientes l'une de l'autre car elles sont conçues pour se détruire l'une l'autre:

 Classe public class AntiAirCraftGun 
  cible de bombardier privé;
  privé int positionX;
  privé int positionY;
  dommages int intimes;
  public void setTarget (Bomber newTarget)
  
    this.target = newTarget;
  
  // reste de la classe AntiAircraftGun

Bombardier de classe publique
  cible privée AntiAirCraftGun;
  privé int positionX;
  privé int positionY;
  dommages int intimes;
  public void setTarget (AntiAirCraftGun newTarget)
  
    this.target = newTarget;
  
  // reste de la classe Bomber

La classe AntiAirCraftGun a un Objet bombardier et classe Bomber a un Objet AntiAirCraftGun.