//Titel:            Testbeispiel für instanceOf-Technik
//Version:          1.0
//Copyright:        HS-Harz, FB AI
//Autor:            Dipl.-Inf. Dipl.-Ing. (FH) Michael Wilhelm
//Firma:
//Beschreibung:


// Interface Beispiel

import java.awt.*;
import java.awt.event.*;

import java.io.*;

import java.util.Vector;




public class regal1 {
   Vector _myRegal = new Vector();

   // Konstruktor
  public regal1() {
  }


   private static void pause() {
    try {
      System.in.read();
    }
    catch (IOException e) {
    }
  }  // pause

  private void input() {
    // regal
    Plueschtier p;
    Buch b;
    Video v;

    _myRegal.add( new Buch("Papa Ratzi","Atheist") );
    _myRegal.add( new Video("Der Pate Teil 1") );
    _myRegal.add( new Buch("Java, JDK 5.0","Maria Class") );
    _myRegal.add( new Video("Der Pate Teil 2") );
    _myRegal.add( new Plueschtier("Brummi") );
    _myRegal.add( new Plueschtier("Anton") );
  }

  private void output() {
    Plueschtier p;
    Buch b;
    Video v;
    Object obj;
    for (int i=0; i<_myRegal.size(); i++) {
      obj =  _myRegal.elementAt(i);
      if (obj instanceof Buch) {
        b = (Buch) obj;
        System.out.println( b.getName() );
      }
      if (obj instanceof Video) {
        v = (Video) obj;
        System.out.println( v.getFilm() );
      }
      if (obj instanceof Plueschtier) {
        p = (Plueschtier) obj;
        System.out.println( p.getName() );
      }
    } // for
  } // output

    // MAIN
  static public void main(String[] args) {
    regal1  r = new regal1();
    r.input();
    r.output();
    pause();
  }

}



// Main Klasse für Papier, Zeitungen, Zeitschriften, Bücher
class Papier {
   protected String _Name;
   protected String _Datum;

   public Papier(String Name) {
     _Name = Name;
     _Datum = "";
   }
}

class Zeitschrift extends Papier {
   public Zeitschrift(String Name) {
     super( Name );
   }
}


class Buch  extends Papier {
  protected String _Autor;

  public Buch(String Titel, String Autor) {
    super( Titel );
    _Autor = Autor;
  }

  public String getName() {
    return _Name;
  }

}  // Buch




class Video   {
  protected String _Film;

  public Video(String Film) {
    _Film = Film;
  }

  public String getFilm() {
    return _Film;
  }

}  // Video


class Plueschtier  {
  protected String _Name;

  public Plueschtier(String Name) {
    _Name = Name;
  }

  public String getName() {
    return _Name;
  }

}  // Film


