เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสืบทอดเมธอด

ในแบบฝึกหัดนี้ จะต่อยอดคลาส 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)
แก้ไขและรันโค้ด