next up previous contents index
suivant: Application aux types récursifs monter: Composition et délégation précédent: Délégation des méthodes   Table des matières   Index

Un autre exemple

Nous devons définir une classe PointColore, dont les instances sont des points colorés4.1, que l'on peut translater. Une solution consiste à procéder par composition des classes java.awt.Color (la classe Color du paquet java.awt) et Point et à déléguer la translation au composant de type Point :

package geometrie;

class PointColore {
 Point point;
 java.awt.Color couleur;

 PointColore(double x, double y, java.awt.Color couleur) {
   point = new Point(x, y);
   this.couleur = couleur;
 }
 void translater(double dx, double dy) {
   point.translater(dx, dy);
 }
}

Cette classe utilise la classe Point, un de ses constructeurs et une de ses méthodes. On peut l'utiliser ainsi :

package geometrie;

class Test {
 public static void main(String[] args) {
   PointColore pointRouge = 
     new PointColore(1, 2, java.awt.Color.red);
   pointRouge.translater(1, 1);
 }
}



Rene' LALEMENT 2002-11-07