Menu
CoddyTech

Repaso: 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.

Tendrás que completar los siguientes archivos:

  • person.py: Implementa la clase base Person con nombre, edad y un 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 departamento
  • engineer.py: Crea 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 auxiliar para mostrar jerarquías de clases

Cada archivo contiene comentarios TODO detallados que te guiarán en 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
# Crea 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")

# Prueba los 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())

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

# Prueba la resolución de métodos en la 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