方法繼承
在本練習中,你要擴充先前建立、從 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)