การสืบทอดเมธอด
ในแบบฝึกหัดนี้ จะต่อยอดคลาส Manager (ที่สืบทอดมาจากคลาส Employee) ซึ่งสร้างไว้ในแบบฝึกหัดก่อนหน้า โดยเพิ่มเมธอดชื่อ give_raise() เมธอดนี้จะคล้ายกับเมธอดชื่อเดียวกันในคลาส Employee แต่มีอาร์กิวเมนต์เพิ่มเติมชื่อ bonus
คลาส Manager ที่สร้างไว้แล้วได้ถูกเตรียมไว้ให้ใน script.py
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ
คำแนะนำการฝึกหัด
- เพิ่มเมธอด
give_raise()ให้กับManagerโดยรับพารามิเตอร์เดียวกับEmployee.give_raise()พร้อมกับอาร์กิวเมนต์bonusที่มีค่าเริ่มต้นเป็น1.05(โบนัส 5%) - ภายในเมธอด ให้คำนวณ
new_amountโดยนำamountคูณกับbonus - ภายในเมธอด ให้ใช้เมธอดของ
Employeeเพื่อปรับเงินเดือนด้วยจำนวนnew_amount
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
class Employee:
def __init__(self, name, salary=30000):
self.name = name
self.salary = salary
def give_raise(self, amount):
self.salary += amount
class Manager(Employee):
def display(self):
print("Manager ", self.name)
def __init__(self, name, salary=50000, project=None):
Employee.__init__(self, name, salary)
self.project = project
# Add a give_raise method
____:
____
____
mngr = Manager("Ashta Dunbar", 78500)
mngr.give_raise(2000, bonus=1.03)
print(mngr.salary)