開始使用免費開始

方法繼承

在本練習中,你要擴充先前建立、從 Employee 類別繼承而來的 Manager 類別,新增加一個名為 give_raise() 的方法。它會與 Employee 類別中同名的方法相似,但多了一個名為 bonus 的額外引數。

你先前建立的 Manager 類別已放在 script.py 中供你使用。

本練習屬於課程

Python 物件導向程式設計入門

檢視課程

練習說明

  • Manager 中新增 give_raise() 方法,其接受的參數需與 Employee.give_raise() 相同,並另外加入一個 bonus 引數,預設值為 1.05(代表 5% 的加成)。
  • 在方法內,將 amount 乘上 bonus,計算出 new_amount
  • 在方法內,使用 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)
編輯並執行程式碼