Template Method Template Method
1. L’exemple initial
L’exemple initial est constitué par la classe abstraite GraphicalObject et ses deux sous-classes concrètes Ellipse et TextZone. Elle représente un objet graphique abstrait qui factorise les propriétés communes. En l’occurrence, elle introduit les propriétés communes aux ellipses et aux zones de texte, à savoir leur position, leur dimension, leur initialisation et la méthode de dessin drawFrame qui dessine un cadre autour de l’objet.
Les deux sous-classes concrètes introduisent leurs propriétés et leur méthode spécifique de dessin. Dans les méthodes de dessin, l’action est simulée par une impression à l’écran des données.
Le code des trois classes se trouve ci-dessous.
public abstract class GraphicalObject {
protected int xPos,yPos,width,height;
public GraphicalObject(int xPos, int yPos, int width, int height) {
this.xPos = xPos;
this.yPos = yPos;
this.width = width;
this.height = height;
}
protected void drawFrame() {
System.out.println("Drawing rectangle...