Menu
CoddyTech

回顾:员工层次结构

本课属于 Coddy Python 学习旅程的“面向对象编程”单元。第 22 课,共 64 课。

challenge icon

挑战

困难

在这个挑战中,你将实现一个员工层级系统。

你需要完成以下文件:

  • person.py:实现基类 Person,包含姓名、年龄和自我介绍方法
  • employee.py:创建继承自 Person 的 Employee 类,包含 employee_id 和薪资
  • manager.py:实现继承自 Employee 的 Manager 类,用于管理部门
  • engineer.py:创建继承自 Employee 的 Engineer 类,包含编程技能
  • technical_manager.py:使用多重继承创建 TechnicalManager
  • hierarchy_utils.py:实现一个用于显示类层级结构的工具函数

每个文件中都有详细的 TODO 注释,引导你完成实现。

亲手试试

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

# 测试你的实现。不要修改这段测试代码
# 创建实例
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")

# 测试基本方法
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())

# 测试继承层次结构
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)

# 测试多重继承中的方法解析
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())

面向对象编程中的所有课

自己练习: Python 在线编译器