自訂子類別
繼承之所以強大,是因為它讓我們能重複使用並自訂程式碼,而不必重寫既有程式碼。透過在子類別中呼叫父類別的方法,你可以重用那些方法裡的所有程式碼,讓程式更精簡、也更好維護。
在這個練習中,你會繼續使用從 Employee 類別繼承而來的 Manager 類別。你將新增一個建構子,並在 Employee 的建構子基礎上再加一個引數,用來指定這位經理目前負責的專案。
一個簡化版的 Employee 類別,以及你先前建立之 Manager 類別的開頭程式碼,已放在 script.py 供你使用。
本練習屬於課程
Python 物件導向程式設計入門
練習說明
- 在
Manager中新增建構子,接受name、salary(預設值為50000)與project(預設值為None)。 - 在
Manager的建構子裡,呼叫Employee類別的建構子,並提供父類別建構子所定義的三個引數。 - 使用
self將相對應的屬性指派為project引數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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):
# Add a constructor
def __init__(self, name, ____=____, ____=____):
# Call the parent's constructor
____.____(____, ____, salary)
# Assign project attribute
____.____ = ____
def display(self):
print("Manager ", self.name)