Hallo Zusammen,
ich bin gerade dabei im Selbststudium mir Java anzueignen. Gestaltet sich als schwierig. Ich bin dabei eine Klasse Mitarbeiter anzulegen. Diese Klasse vererbt an Unterklassen Lehrling, Angestellter und Chef. Die Superklasse Mitarbeiter besitzt die Methoden GehaltErhoehen und DatenAusgeben(). Wenn ich jetzt in der Main Methode einen Angestellten deklariere, müsste der die Methoden DatenAusgeben erben. Aber es haut nicht hin. Vielleicht kann mir jemand helfen. Danke schonmal vorab.
ich bin gerade dabei im Selbststudium mir Java anzueignen. Gestaltet sich als schwierig. Ich bin dabei eine Klasse Mitarbeiter anzulegen. Diese Klasse vererbt an Unterklassen Lehrling, Angestellter und Chef. Die Superklasse Mitarbeiter besitzt die Methoden GehaltErhoehen und DatenAusgeben(). Wenn ich jetzt in der Main Methode einen Angestellten deklariere, müsste der die Methoden DatenAusgeben erben. Aber es haut nicht hin. Vielleicht kann mir jemand helfen. Danke schonmal vorab.
Code:
class Mitarbeiter {
String m_name; //Klassenvariable
String m_vorname;
int m_gehalt;
Mitarbeiter (String name, String vorname, int gehalt){
m_name=name;
m_vorname=vorname;
m_gehalt=gehalt;
}
void DatenAusgeben() {
System.out.println("\n");
System.out.println("Name:"+m_name);
System.out.println("Vorname:"+m_vorname);
System.out.println("Gehalt"+m_gehalt+"Euro");
}
void GehaltErhoehen(int erhoehung){
m_gehalt=m_gehalt+erhoehung;
}
class Lehrling extends Mitarbeiter{
//Die Klasse Lehrling erweitert Mitarbeiter
int abgelegtePruefungen;
Lehrling(String name, String vorname, int gehalt){
//Vererbung von Klasse Mitarbeiter
super (name,vorname,gehalt);
//Erweiterung der Pruefungen
abgelegtePruefungen=0;
}
}
class Angestellter extends Mitarbeiter{
int hierarchistufe;
final int Max_HIERARCHIE=5;
Angestellter(String name, String vorname, int gehalt){
//Angestellter erbt von Mitarbeiter
super(name,vorname,gehalt);
//Erwerterung der Klasse Mitarbeiter
hierarchistufe=0;
}
void befoerdern(){
//Innerhalb der Klasse Angestellte existiert die Methode befoerdern. Diese existiert nicht für Lehrlinge, Chefs oder Mitarbieter
if (hierarchistufe<Max_HIERARCHIE)
hierarchistufe++;
}
}
class chef extends Mitarbeiter{
chef (String name, String vorname, int gehalt)
{
super(name,vorname,gehalt);
}
void GehaltErhoehen(int erhoehung){
//Diese Methode heißt zwar gleich, wie die Mitarbeitermethode,gilt aber nur für die Chefklasse. Die eigentliche Methode wurde hier überschrieben.
m_gehalt=m_gehalt+2*erhoehung;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Angestellter billy= new Angestellter("Gates","bill",2000);
billy.DatenAusgeben();
}}