Menu
Coddy logo textTech

Resumen - Jerarquía de empleados

Parte de la sección Programación Orientada a Objetos del Journey de Java de Coddy — lección 27 de 87.

challenge icon

Desafío

Fácil

Vamos a construir un sistema completo de jerarquía de empleados que reúna todos los conceptos de herencia de este capítulo. Crearás una estructura de empresa donde diferentes tipos de empleados comparten atributos comunes pero tienen sus propios comportamientos especializados.

Organizarás tu código en cuatro archivos:

  • Employee.java: Crea la clase base que todos los empleados comparten. Cada empleado tiene un nombre y un salario. Incluye un constructor que inicialice ambos campos y un método getDetails() que devuelva: [name] earns $[salary]. También añade un método work() que imprima: [name] is working.
  • Manager.java: Crea una clase que extienda de Employee. Los gerentes tienen un campo adicional teamSize que representa a cuántas personas dirigen. Usa super para manejar la inicialización del padre. Sobrescribe el método work() para que imprima: [name] is managing a team of [teamSize]. Añade un método getManagerDetails() que devuelva: Manager: [name] earns $[salary], Team size: [teamSize].
  • Developer.java: Crea otra clase que extienda de Employee. Los desarrolladores tienen un campo language para su especialidad de programación. Nuevamente, usa super para la parte del padre. Sobrescribe work() para que imprima: [name] is coding in [language]. Añade un método getDeveloperDetails() que devuelva: Developer: [name] earns $[salary], Language: [language].
  • Main.java: Reúne todo aquí. Recibirás cinco entradas: un nombre de empleado, salario, tamaño del equipo para el gerente, otro nombre y un lenguaje de programación para el desarrollador. Crea un Manager y un Developer, luego para cada uno llama a su método de detalles especializado seguido de su método work().

Recibirás cinco entradas en este orden: nombre del gerente (String), salario del gerente (double), tamaño del equipo (int), nombre del desarrollador (String) y lenguaje de programación (String). Usa un salario de 75000.0 para el desarrollador.

Formatea todos los valores de salario con 2 decimales usando String.format("%.2f", salary). Tu salida debe mostrar cuatro líneas en total: los detalles y el comportamiento de trabajo del gerente, seguidos de los detalles y el comportamiento de trabajo del desarrollador.

Pruébalo tú mismo

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Leer las entradas
        String managerName = scanner.nextLine();
        double managerSalary = scanner.nextDouble();
        int teamSize = scanner.nextInt();
        scanner.nextLine(); // consumir el salto de línea
        String developerName = scanner.nextLine();
        String language = scanner.nextLine();
        
        // El salario del Developer está fijado en 75000.0
        double developerSalary = 75000.0;
        
        // TODO: Crear un objeto Manager con managerName, managerSalary y teamSize
        
        // TODO: Crear un objeto Developer con developerName, developerSalary y language
        
        // TODO: Imprimir los detalles del manager usando getManagerDetails()
        
        // TODO: Llamar al método work() del manager
        
        // TODO: Imprimir los detalles del developer usando getDeveloperDetails()
        
        // TODO: Llamar al método work() del developer
    }
}

Todas las lecciones de Programación Orientada a Objetos