Vous êtes sur la page 1sur 2

La composition (has-a)

La composition est le type de relation le plus souvent utilisé en programmation objet. Elle
indique une dépendance entre deux classes. L’une a besoin des services d’une autre pour
réaliser sa fonction. La composition se fait en déclarant des attributs dans la classe.

Dans notre application de simulation de conduite, si nous introduisons une classe pour
représenter des pneus.

package fr.epsi.b3.conduite;

public class Pneu {

private float coefficientAdherence;

// ..

Alors, nous pouvons indiquer que les véhicules ont des pneus.

package fr.epsi.b3.conduite;

public class Vehicule {

private final String marque;


protected float vitesse;
protected Pneu[] pneus;

public Vehicule(String marque) {


this.marque = marque;
}

public Pneu[] getPneus() {


return this.pneus;
}

// ...

}
package fr.epsi.b3.conduite;

public class Voiture extends Vehicule {


public Voiture(String marque) {
super(marque);
this.pneus = new Pneu[] {new Pneu(), new Pneu(), new Pneu(), new
Pneu()};
}

// ...

}
package fr.epsi.b3.conduite;

public class Moto extends Vehicule {

public Moto(String marque) {


super(marque);
this.pneus = new Pneu[] {new Pneu(), new Pneu()};
}

// ...

Vous aimerez peut-être aussi