
/**

Demo-Programm für instanceof.
Das Programm liefert folgende Ausgabe:

Typ: unbekannt
Typ: Figur
Typ: Figur
Typ: Figur

*/
/*-----------------------------------------------------------------------*/

class InstanceOf
{  
   /**
   *  Bestimmt den aktuellen Typ der Figur f.
   *  @param f Figur, der Typ angezeigt wird
   */
   public static void zeigeTypVon(Figur f)
   {
      if (f instanceof Figur)
         System.out.println("Typ: Figur");
      else if (f instanceof Kreis)
         System.out.println("Typ: Kreis");
      else if (f instanceof Rechteck)
         System.out.println("Typ: Rechteck");
      else 
         System.out.println("Typ: unbekannt");      
   }
   
   public static void main(String[] argv)
   {
      Figur f1, f2 = null;
      zeigeTypVon(f2);

      f2 = new Figur();
      zeigeTypVon(f2);

      f1 = new Kreis("Kreis", 10, 20, 8);      
      f2 = new Rechteck("Rechteck", 1, 2, 3, 4);
      zeigeTypVon(f2);

      f2 = f1;
      zeigeTypVon(f2);      
   }
}
