Menu
Coddy logo textTech

まとめ:従業員の階層構造

CoddyのPythonジャーニー「Object Oriented Programming」セクションの一部 — レッスン 22/64。

challenge icon

チャレンジ

難しい

このチャレンジでは、従業員の階層システムを実装します。

以下のファイルを完成させる必要があります:

  • person.py: 名前、年齢、および自己紹介メソッドを持つベースとなる Person クラスを実装します。
  • employee.py: Person を継承し、employee_id と salary を持つ Employee クラスを作成します。
  • 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())

Object Oriented Programmingのすべてのレッスン