Polygon.java

public class Polygon implements Figur {
  // gegeben durch Array von Punkten

  protected Punkt[] p;

  // Konstruktoren

  public Polygon(Punkt[] p1) {
    p = p1;
  }

  public Polygon() {
    // "leeres" Polygon, wird für Vererbung gebraucht
    p = null;
  }

  // öffentliche Methoden

  public void move(Punkt p1) {
    // verschiebt um "Vektor" p1

    for (int i = 0; i < p.length; i++) {
      p[i].move(p1);
    }
  }

  public void scale(double s) {
    // skaliert um Faktor s, Bezugspunkt O
  
    for (int i = 0; i < p.length; i++) {
      p[i].scale(s);
    }
  }    

  public void rotate(double alpha) {
    // dreht um Winkel alpha, Drehpunkt O
    
    for (int i = 0; i < p.length; i++) {
      p[i].rotate(alpha);
    }
  }  

  public String toString() {
    // beschreibt Objekt als String

    String str = getName() + "\n";

    for (int i = 0; i < p.length; i++) {
	str += "   " + p[i] + "\n";
    }    

    return str;
  }

  protected String getName() {
    // wird von abgeleiteten Klassen überschrieben
    return "POLYGON";  
  }
}