Menu
Coddy logo textTech

Resumen - Jerarquía de empleados

Parte de la sección Programación orientada a objetos del Journey de Python de Coddy. Lección 22 de 64.

challenge icon

Desafío

Difícil

En este desafío, implementarás un sistema de jerarquía de empleados.

Deberás completar los siguientes archivos:

  • person.py: Implementa la clase base Person con nombre, edad y método de presentación
  • employee.py: Crea la clase Employee que hereda de Person, con employee_id y salario
  • manager.py: Implementa la clase Manager que extiende Employee, con gestión de departamentos
  • engineer.py: Construye la clase Engineer que extiende Employee, con habilidades de programación
  • technical_manager.py: Crea TechnicalManager mediante herencia múltiple
  • hierarchy_utils.py: Implementa una función de utilidad para mostrar jerarquías de clases

Cada archivo contiene comentarios detallados de TODO que te guían durante la implementación.

Pruébalo tú mismo

from person import Person
from employee import Employee
from manager import Manager
from engineer import Engineer
from technical_manager import TechnicalManager
from hierarchy_utils import show_hierarchy

# Prueba tu implementación - NO MODIFIQUES ESTE CÓDIGO DE PRUEBA
# Crear instancias
person = Person("John Smith", 30)
employee = Employee("Alice Johnson", 35, "E12345", 60000)
manager = Manager("Bob Williams", 45, "M54321", 85000, "Marketing")
engineer = Engineer("Carol Davis", 28, "E98765", 75000, "Python")
tech_mgr = TechnicalManager("Dave Wilson", 40, "TM24680", 90000, "R&D", "Java")

# Probar métodos básicos
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())

# Probar jerarquías de herencia
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)

# Probar la resolución de métodos en herencia múltiple
print("\nTechnical Manager tests:")
print(tech_mgr.introduce())
print(f"Monthly pay: ${tech_mgr.calculate_paycheck():.2f}")
print(tech_mgr.manage_team())
print(tech_mgr.code())

Todas las lecciones de Programación orientada a objetos

Practica por tu cuenta: Compilador de Python online