/**
vergleichbare Klasse Punkte mit Testumgebung -
englische Version.
*/
/*------------------------------------------------------------------*/

class Punkte extends Punkt
   implements vergleichbar,englisch
{
   public Punkte()
   {  }

   public Punkte(int x,int y)
   {  super(x, y, "");  }

   public boolean gleich(Object o)
   {
      Punkte p = (Punkte)o;
      return ((x == p.x) & (y == p.y));
   }

   public int vergleiche(Object o)
   {
      Punkte p = (Punkte)o;
      double lg, lgp;
      // Länge dieses Punktes
      lg = laenge();
      lgp = p.laenge();
      return lg==lgp ? 0 : lg<lgp ? -1 : 1;
   }

   void IstGleich(Punkte p)
   {
      ausgeben();
      if (!gleich(p))
         System.out.print("un");
      System.out.print(GLEICH);
      p.ausgeben();
   }

   void test()
   {
      Punkte p1 = new Punkte(2, 4),
             p2 = new Punkte(3, 2),
             p3 = new Punkte(3, 2);
      p1.IstGleich(p2);
      System.out.println();
      p2.IstGleich(p3);
      System.out.println();
      p1.ausgeben();
      if (p1.vergleiche(p2) >= 0)
         System.out.print(NICHT);
      System.out.print(KLEINER);
      p2.ausgeben();
      System.out.println();
   }
}


/**
Testklasse für Punkte
Das Programm liefert folgende Ausgabe:

(2,4)
unequals (3,2)

(3,2)
equals (3,2)

(2,4)
not less than (3,2)

*/

public class PunkteTest
{
   public static void main(String[] args)
   {
      Punkte p = new Punkte();
      p.test();
   }
}
