 
import stiftUndCo.*;
import java.awt.*;

/** Abstrakte Klassen bündeln gemeinsame Eigenschaften verschiedener Klassen,
  * ohne dass Objekte dieser abstrakten Klasse erzeugt werden können.
  * Von der abstrakten Klasse erben konkrete Klassen (siehe z.B. class Linie),
  * die zur Herstellung von Objekten genutzt werden können.
  * In der Regel entsteht eine abstrakte Klasse durch den Vergleich verschiedener
  * Klassen auf gemeinsame Attribute und Methoden.
  * author Alexander Dietz
  * @version 1.0 (1. März 2004)
*/
abstract class Figur
{   /* Die Attribute sind in jeder erbenden Klasse bekannt und muessen dort
       nicht mehr deklariert werden */
    double x1, y1;
    Color linienfarbe;
    Color fuellfarbe;
    int linienbreite;
    int muster;

    /* Die abstakten Methoden MÜSSEN in jeder erbenden konkreten Klasse programmiert
      werden */

        abstract void setzeLinienFarbe(Color c);
  abstract void setzeFuellFarbe(Color c);
  abstract void setzeLinienBreite(int l);
  abstract void zeige();
  abstract void loesche();
  abstract void verschiebe(double dx, double dy);
  abstract void strecke(double a);

}



