การสืบทอดเมธอด
การสืบทอด (Inheritance) มีประสิทธิภาพมาก เพราะช่วยให้นำโค้ดที่มีอยู่แล้วกลับมาใช้และปรับแต่งได้โดยไม่ต้องเขียนใหม่ทั้งหมด การเรียกใช้เมธอดของคลาสแม่ภายในคลาสลูกช่วยให้โค้ดกระชับและดูแลรักษาได้ง่ายขึ้น
ในแบบฝึกหัดนี้ จะทำงานต่อกับคลาส Manager ที่สืบทอดมาจากคลาส Employee โดยจะเพิ่มข้อมูลใหม่เข้าไปในคลาส และปรับแต่งเมธอด give_raise() จากบทที่ 1 เพื่อให้จำนวนเงินที่ขึ้นเงินเดือนของผู้จัดการเพิ่มขึ้นตามเปอร์เซ็นต์โบนัสทุกครั้งที่ได้รับการขึ้นเงินเดือน
โค้ดของคลาส Employee เวอร์ชันย่อ รวมถึงโครงของคลาส Manager จากบทเรียนก่อนหน้านี้ได้เตรียมไว้ให้แล้วในหน้าต่างสคริปต์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโปรแกรมเชิงวัตถุใน Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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)