public class Polygon { private Punkt[] punkte; // Liste der Eckpunkte public Polygon(Punkt[] p) { ... } public void drehe(double Winkel) { ... } public double flächeninhalt() { ... } }
public class Dreieck extends Polygon { private double radius; // zwischengespeichert wegen Performance public Dreieck(Punkt a, Punkt b, Punkt c) { ...} public Punkt umkreisMittelpunkt() { ... } }
Polygon p; // nur eine Referenz! Dreieck d = new Dreieck(..); p = d; // p zeigt auf ein Polygon, nämlich d p.drehe(90.0);
Punkt mitte = d.umkreisMittelpunkt(); // !! Fehler: Punkt mitte2 = p.umkreisMittelpunkt(); // geht nicht, denn ein Polygon hat keine // Methode umkreisMittelpunkt - auch dann nicht, // wenn p "in Wirklichkeit" ein Dreieck ist
public Dreieck(Punkt a, Punkt b, Punkt c) { super( new Punkt[] {a, b, c} ); // erzeugt Array aus a, b, c }
Methode | Bedeutung |
---|---|
String toString() | gibt einen String aus Klassennamen und Code zurück |
boolean equals(Object o) | prüft nur auf Gleichheit der Zeiger |