Ôn tập: hệ thống phân cấp nhân viên
Thuộc phần Lập trình hướng đối tượng trong hành trình Python của Coddy. Bài học 22 trên 64.
Thử thách
KhóTrong thử thách này, bạn sẽ triển khai một hệ thống phân cấp nhân viên.
Bạn cần hoàn thành các tệp sau:
person.py: Triển khai lớp cơ sởPersonvới tên, tuổi và phương thức giới thiệuemployee.py: Tạo lớpEmployeekế thừa từPerson, có employee_id và lươngmanager.py: Triển khai lớpManagermở rộngEmployee, có chức năng quản lý phòng banengineer.py: Xây dựng lớpEngineermở rộngEmployee, có kỹ năng lập trìnhtechnical_manager.py: TạoTechnicalManagerbằng cách sử dụng kế thừa đa lớphierarchy_utils.py: Triển khai hàm tiện ích để hiển thị hệ thống phân cấp lớp
Mỗi tệp đều có các chú thích TODO chi tiết hướng dẫn bạn triển khai.
Tự làm thử
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
# Kiểm tra phần bạn đã triển khai. KHÔNG CHỈNH SỬA ĐOẠN CODE KIỂM TRA NÀY
# Tạo các instance
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")
# Kiểm tra các phương thức cơ bản
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())
# Kiểm tra hệ phân cấp kế thừa
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)
# Kiểm tra thứ tự phân giải phương thức trong đa kế thừa
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())Tất cả bài học trong Lập trình hướng đối tượng
1Nền tảng về lập trình hướng đối tượng
Tệp bên ngoàiGiới thiệu về lập trình hướng đối tượngLớp và đối tượngTham số selfPhương thứcThuộc tínhPhương thức khởi tạo (__init__)Ôn tập: máy tính đơn giản4Kế thừa
Kế thừa cơ bảnHàm super()Ghi đè phương thứcKế thừa đa lớpThứ tự phân giải phương thứcÔn tập: hệ thống phân cấp nhân viên2Decorator
Giới thiệu về decoratorDecorator thuộc tínhDecorator phương thức tĩnhDecorator phương thức lớp5Tính đa hình
Xem lại cách ghi đè phương thứcKiểu gõ vịtLớp và phương thức trừu tượngThiết kế giao diệnÔn tập: máy tính hình học8Các khái niệm OOP nâng cao
Kết hợp và kế thừaMixinPhương thức tĩnh và phương thức lớpDecorator lớpTrình quản lý ngữ cảnhTự luyện tập: Trình biên dịch Python online