/***************************  Student.java  ***********************************/

import AlgoTools.IO;

/** Klasse Student, spezialisiert die Klasse Person 
 *  durch Klassenvariable next_mat_nr;
 *  durch weitere Datenfelder mat_nr, fach, jsb
 *  durch eigenen Konstruktor und durch eigene Methode jahrgang 
 *  welche die Methode jahrgang der Klasse Person ueberschreibt
 */

public class Student extends Person {            // Student erbt von Person  

  static int next_mat_nr = 100000;               // globale Klassenvariable

  int mat_nr;                                    // Matrikel-Nummer
  String fach;                                   // Studienfach
  int jsb;                                       // Jahr des Studienbeginns

  public Student                                 // Konstruktor mit
                 (String vn,                     // Vorname
                  String nn,                     // Nachname 
                  int t,                         // Geburtstag
                  int m,                         // Geburtsmonat
                  int j,                         // Geburtsjahr
                  String fach,                   // Studienfach 
                  int jsb)                       // Studienbeginn 
  {  
    super(vn, nn, t, m, j);                      // Konstruktor des Vorfahren
    this.fach   = fach;                          // initialisiere Fach
    this.jsb    = jsb;                           // initialisiere Studienbeginn
    mat_nr      = next_mat_nr++;                 // vergib naechste Mat-Nr.
  }

  public int jahrgang() {                        // Methode liefert als Jahrgang
    return jsb;                                  // das Jahr des Studienbeginns
  }

  public static void main (String [] argv) {
    Student s;                                             // deklariere Student
    s = new Student("Willi","Wacker",22,8,1972,"BWL",1995);// kreiere Student  
    IO.print(s.vorname + " " + s.nachname);                // gib Name aus und
    IO.println("'s Matrikelnummer lautet: " + s.mat_nr);   // Matrikelnummer
  }
}
