Wie sieht ein Beispiel in Java aus?

/ Implementor
interface DrawingAPI {
void drawCircle(double x, double y, double radius);
}

// ConcreteImplementor
class DrawingAPI1 implements DrawingAPI {
public void drawCircle(double x, double y, double radius) {
System.out.println("API1.circle at (" + x + "," + y + ") radius " + radius);
}
}

// Abstraction
abstract class Shape {
protected DrawingAPI drawingAPI;
protected Shape(DrawingAPI drawingAPI) {
this.drawingAPI = drawingAPI;
}
public abstract void draw();
}

// RefinedAbstraction
class CircleShape extends Shape {
private double x, y, radius;

public CircleShape(double x, double y, double radius, DrawingAPI drawingAPI) {
super(drawingAPI);
this.x = x;
this.y = y;
this.radius = radius;
}

public void draw() {
drawingAPI.drawCircle(x, y, radius);
}

}

Verwendung:

Shape circle = new CircleShape(5, 10, 3, new DrawingAPI1());
circle.draw();
com

Newsletter Anmeldung

Bleiben Sie informiert! Wir informieren Sie über alle neuen Beiträge (max. 1 Mail pro Woche – versprochen)