Menu
Coddy logo textTech

Resumen - Jerarquía de empleados

Parte de la sección Object Oriented Programming 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 name, age y un método de introducción
  • employee.py: Crea la clase Employee que hereda de Person con employee_id y salary
  • manager.py: Implementa la clase Manager que extiende a Employee con gestión de departamentos
  • engineer.py: Construye la clase Engineer que extiende a Employee con habilidades de programación
  • technical_manager.py: Crea TechnicalManager utilizando herencia múltiple
  • hierarchy_utils.py: Implementa una función de utilidad para mostrar las jerarquías de clases

Cada archivo contiene comentarios TODO detallados que te guiarán a través de 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 Object Oriented Programming