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

Practica por tu cuenta: Compilador de Python online