class Rechteck extends Figur
{
 // Attribute
   // Laenge und Breite des Rechtecks.
   double laenge, breite;

 // Operationen
   // Konstruktor. Erzeuge ein Rechteck
   // mit der Laenge l und der Breite b.
   Rechteck(String n, int x, int y, double l , double b)
   {
      name = n;
      bezugspunkt = new Punkt();
      bezugspunkt.x = x;
      bezugspunkt.y = y;
      laenge = l;
      breite = b;
   }
      
   // lesender Zugriff auf die Attribute
   // Liefere die Laenge des Rechtecks zurueck.
   double getLaenge()
   {
      return laenge;
   }

   // Liefere die Breite des Rechtecks zurueck.
   double getBreite()
   {
      return breite;
   }

   // schreibender Zugriff auf die Attribute
   // Setze die Laenge des Rechtecks auf den Wert l.
   void setLaenge(double l)
   {
      laenge = l;
   }

   // Setze die Breite des Rechtecks auf den Wert b.
   void setBreite(double b)
   {
      breite = b;
   }

   // Setze Laenge und Breite auf die Werte l bzw. b.
   void setKanten(double l, double b)
   {
      laenge = l;
      breite = b;
   }

   // Liefere die Flaeche des Rechtecks = Laenge * Breite.
   double flaeche()
   {
      return laenge * breite;
   }

   // Liefere den Umfang des Rechtecks = 2 * (Laenge + Breite).
   double umfang()
   {
      return 2 * (laenge + breite);
   }

   // Rechteck textuell ausgeben  
   void ausgeben()
   {  
      super.ausgeben();
      System.out.println("Laenge = " + laenge + ", Breite = " + breite);
   }

   public String toString()
   {
      return super.toString() + 
                "Laenge = " + laenge + ", Breite = " + breite;
   }
}
