Quellcode
- /**
- *
- * @author Torben Brodt
- * @version 1.0
- *
- * <p />Gibt Daten aus
- */
- enum Monat {Januar, Februar, Maerz, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember};
- public class A02_PersonenTest {
- public static void main(String[] args) {
- Person person = new Person("Leona", "Schmitt", new Datum(1, Monat.Januar, 1900));
- Student student = new Student("Adam", "Riese", new Datum(1, Monat.Januar, 1900), 17, "FH-Wiesbaden");
- Schueler schueler = new Schueler("Eva", "Zwerg", new Datum(1, Monat.Januar, 1900), 11, "Zwergenschule");
- Angestellter angestellter = new Angestellter("Klaus", "Wichtel", new Datum(1, Monat.Januar, 1900), 50000, "AdamUndEvaGmbH");
- System.out.println(person);
- System.out.println(student);
- System.out.println(schueler);
- System.out.println(angestellter);
- }
- }
- /**
- * Klasse enthält Tag, Monat, Jahr
- * @author tbr
- *
- */
- class Datum {
- public int tag;
- public Monat monat;
- public int jahr;
- /**
- * Ich bin ein Konstruktor
- * @param tag
- * @param monat
- * @param jahr
- */
- public Datum(int tag, Monat monat, int jahr) {
- this.tag = tag;
- this.monat = monat;
- this.jahr = jahr;
- }
- public String toString() {
- return this.tag + "." + this.monat + " " + this.jahr;
- }
- }
- /**
- * Superklasse, die eine Person mit Geburtsdatum, Vor-& Nachname beschreibt
- */
- class Person {
- String vorname, nachname;
- Datum datum;
- /**
- * Konstruktor
- * @param vorname
- * @param nachname
- * @param datum
- */
- public Person(String vorname, String nachname, Datum datum) {
- this.vorname = vorname;
- this.nachname = nachname;
- this.datum = datum;
- }
- /**
- * Überschreibt die String-Rückgabe-Funktion
- */
- public String toString() {
- return vorname+"\t"+nachname+"\t"+datum;
- }
- }
- /**
- * Unterklasse von Person abgeleitet
- * @author tbr
- *
- */
- class Student extends Person {
- int semester;
- String schule;
- /**
- * Konstruktor
- * @param vorname
- * @param nachname
- * @param datum
- * @param semester
- * @param schule
- */
- public Student(String vorname, String nachname, Datum datum, int semester, String schule) {
- super(vorname, nachname, datum);
- this.semester = semester;
- this.schule = schule;
- }
- /**
- * Sorgt für eine schöne Ausgabe
- */
- public String toString() {
- return super.toString() +" - Im "+ semester+". Semester an der "+schule;
- }
- }
- class Schueler extends Person {
- int klasse;
- String schule;
- public Schueler(String vorname, String nachname, Datum datum, int klasse, String schule) {
- super(vorname, nachname, datum);
- this.klasse = klasse;
- this.schule = schule;
- }
- public String toString() {
- return super.toString() +" - In der "+klasse+". Klasse an der "+schule;
- }
- }
- class Angestellter extends Person {
- String firma;
- double gehalt;
- public Angestellter(String vorname, String nachname, Datum datum, double gehalt, String firma) {
- super(vorname, nachname, datum);
- this.firma = firma;
- this.gehalt = gehalt;
- }
- public String toString() {
- return super.toString() +" - Firma: "+firma+" - Gehalt: "+gehalt;
- }
- }