Menu
Coddy logo textTech

Rückblick – Mitarbeiterhierarchie

Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy. Lektion 27 von 87.

challenge icon

Aufgabe

Einfach

Lass uns ein vollständiges System für eine Mitarbeiterhierarchie erstellen, das alle Vererbungskonzepte aus diesem Kapitel zusammenführt. Du wirst eine Unternehmensstruktur erstellen, in der verschiedene Mitarbeitertypen gemeinsame Attribute besitzen, aber über eigene spezialisierte Verhaltensweisen verfügen.

Du wirst deinen Code auf vier Dateien verteilen:

  • Employee.java: Erstelle die Basisklasse, die von allen Mitarbeitern gemeinsam genutzt wird. Jeder Mitarbeiter hat einen Namen und ein Gehalt. Füge einen Konstruktor hinzu, der beide Felder initialisiert, sowie eine Methode getDetails(), die Folgendes zurückgibt: [name] earns $[salary]. Füge außerdem eine Methode work() hinzu, die Folgendes ausgibt: [name] is working.
  • Manager.java: Erstelle eine Klasse, die Employee erweitert. Manager haben ein zusätzliches Feld teamSize, das angibt, wie viele Personen sie leiten. Verwende super, um die Initialisierung des Elternteils zu übernehmen. Überschreibe die Methode work(), sodass sie Folgendes ausgibt: [name] is managing a team of [teamSize]. Füge eine Methode getManagerDetails() hinzu, die Folgendes zurückgibt: Manager: [name] earns $[salary], Team size: [teamSize].
  • Developer.java: Erstelle eine weitere Klasse, die Employee erweitert. Entwickler haben ein Feld language für ihre Programmierspezialisierung. Verwende erneut super für den Teil des Elternteils. Überschreibe work(), sodass Folgendes ausgegeben wird: [name] is coding in [language]. Füge eine Methode getDeveloperDetails() hinzu, die Folgendes zurückgibt: Developer: [name] earns $[salary], Language: [language].
  • Main.java: Führe hier alles zusammen. Du erhältst fünf Eingaben: einen Mitarbeiternamen, ein Gehalt, die Teamgröße des Managers, einen weiteren Namen und eine Programmiersprache für den Entwickler. Erstelle einen Manager und einen Entwickler und rufe anschließend für jeden von ihnen zuerst die jeweilige spezialisierte Detailmethode und danach die Methode work() auf.

Du erhältst fünf Eingaben in dieser Reihenfolge: Name des Managers (String), Gehalt des Managers (double), Teamgröße (int), Name des Entwicklers (String) und Programmiersprache (String). Verwende für den Entwickler ein Gehalt von 75000.0.

Formatiere alle Gehaltswerte mit 2 Dezimalstellen unter Verwendung von String.format("%.2f", salary). Deine Ausgabe sollte insgesamt vier Zeilen umfassen – die Details und das Arbeitsverhalten des Managers, gefolgt von den Details und dem Arbeitsverhalten des Entwicklers.

Probier es selbst

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Eingaben lesen
        String managerName = scanner.nextLine();
        double managerSalary = scanner.nextDouble();
        int teamSize = scanner.nextInt();
        scanner.nextLine(); // Zeilenumbruch konsumieren
        String developerName = scanner.nextLine();
        String language = scanner.nextLine();
        
        // Das Gehalt des Developers ist auf 75000.0 festgelegt
        double developerSalary = 75000.0;
        
        // TODO: Erstelle ein Manager-Objekt mit managerName, managerSalary und teamSize
        
        // TODO: Erstelle ein Developer-Objekt mit developerName, developerSalary und language
        
        // TODO: Gib die Details des Managers mit getManagerDetails() aus
        
        // TODO: Rufe die Methode work() des Managers auf
        
        // TODO: Gib die Details des Developers mit getDeveloperDetails() aus
        
        // TODO: Rufe die Methode work() des Developers auf
    }
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Java-Compiler