Hallo Java-Forum
Der folgende Quelltext wird tadellos compiliert, jedoch wird, wenn ich die Methode vorstellen() der einzelnen Objekte aufrufe, keine Personalnummer initialisiert. Sie hat bei jedem Objekt den Wert 0. Wo ist der Konstruktionsfehler? Ich hab da keine Erklärung für und bin den Code schon mindestens 10 mal durchgegangen... .
Mich wundert irgendwie der gestrichelte Pfeil von Mitarbeiter zu Angestellter, ich finde aber nicht den Grund für seine Existenz.
MfG
Hier der Quelltext:
Klasse Mensch:
Klasse Student:
Klasse Mitarbeiter:
Klasse Angestellter:
Klasse Professor:
Klasse Test:
Der folgende Quelltext wird tadellos compiliert, jedoch wird, wenn ich die Methode vorstellen() der einzelnen Objekte aufrufe, keine Personalnummer initialisiert. Sie hat bei jedem Objekt den Wert 0. Wo ist der Konstruktionsfehler? Ich hab da keine Erklärung für und bin den Code schon mindestens 10 mal durchgegangen... .
Mich wundert irgendwie der gestrichelte Pfeil von Mitarbeiter zu Angestellter, ich finde aber nicht den Grund für seine Existenz.
MfG
Hier der Quelltext:
Klasse Mensch:
Java:
public class Mensch
{
private String name = new String();
protected Mensch(String name)
{
this.name = name;
vorstellen();
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public String vorstellen()
{
return "Hallo, ich heiße " + name + ".";
}
}
Klasse Student:
Java:
public class Student extends Mensch{
private String name = new String();
private String matrikel = new String();
public Student(String name)
{
super(name);
}
public void setMatrikel(String matrikel)
{
this.matrikel = matrikel;
}
public String getMatrikel()
{
return matrikel;
}
@Override
public String vorstellen()
{
String rueckgabe = "Guten Tag, ich heiße " + getName() + ". Meine Matrikelnummer ist " + getMatrikel();
return rueckgabe;
}
}
Klasse Mitarbeiter:
Java:
public class Mitarbeiter extends Mensch
{
int personalnummer;
protected Mitarbeiter(String name, int Personalnummer)
{
super(name);
this.personalnummer = personalnummer;
}
protected Mitarbeiter(String name)
{
this(name, (int)Math.random()*1000);
}
public void setPersonalnummer(int personalnummer)
{
this.personalnummer = personalnummer;
}
public int getPersonalnummer()
{
return personalnummer;
}
public String vorstellen()
{
String rueckgabe = "Hallo, ich heiße " + getName() + ". Meine Personalnummer ist " + getPersonalnummer();
return rueckgabe;
}
}
Klasse Angestellter:
Java:
public class Angestellter extends Mitarbeiter
{
private boolean personalrat;
public Angestellter(String name)
{
super(name);
}
public Angestellter(String name, int personalnummer)
{
super(name, personalnummer);
}
public void setPersonalrat(boolean personalrat)
{
this.personalrat = personalrat;
}
public boolean getPersonalrat()
{
return personalrat;
}
@ Override
public String vorstellen()
{
String rueckgabe = "Gutne Tag, ich heiße " + getName() + ".Meine Personalummer ist " + getPersonalnummer() + " und ich bin im Personalrat:" + getPersonalrat();
return rueckgabe;
}
}
Klasse Professor:
Java:
public class Professor extends Mitarbeiter
{
private String fachbereich = new String();
private String name = new String();
public Professor(String name)
{
super(name);
}
public void setFachbereich(String fachbereich)
{
this.fachbereich = fachbereich;
}
public String getFachbereich()
{
return fachbereich;
}
@ Override
public String vorstellen()
{
String rueckgabe = "Guten Tag, mein Name ist " + getName() + ". Ich lehre " + getFachbereich() + " und meine Personalnummer ist " + getPersonalnummer() ;
return rueckgabe;
}
}
Klasse Test:
Java:
public class Test
{
public static void main(String[] args)
{
Mensch einMensch = new Mensch("Egon Roth");
Student einStudent = new Student("Viktor Hase");
Professor einProf = new Professor("Meister Lampe");
Angestellter hans = new Angestellter("Hans Kirch", 42);
Angestellter heinz = new Angestellter("Heinz Kirch");
einStudent.setMatrikel("08-15");
einProf.setFachbereich("Informatik");
hans.setPersonalrat(true);
heinz.setPersonalrat(false);
System.out.println(einMensch.vorstellen());
System.out.println(einStudent.vorstellen());
System.out.println(einProf.vorstellen());
System.out.println(hans.vorstellen());
System.out.println(heinz.vorstellen());
}
}
Anhänge
Zuletzt bearbeitet: