Cuando un método de
una clase B recurre a métodos de otra clase A para lograr sus objetivos, se
dice que B delega en A.
double distancia(Punto p, Punto q) |
double distancia(Punto p, Punto q) { double dx = p.getX() - q.getX(); double dy = p.getY() - q.getY(); return Math.sqrt(dx*dx + dy*dy); } |
“distancia”
delega en el método “sqrt” de la clase “Math” para calcular la raíz cuadrada y
en los métodos getX() y getY() de la clase Punto para acceder a las
coordenadas.
La delegación es
interesante en cuanto permite construir programas cada vez más complejos
aprovechando métodos ya disponibles.
Lo contrario de
la delegación es la “reinvención de la rueda”.
Ver "Composición".
Temas relacionados