Python เพิ่ม __init__() Function
เพิ่มฟังก์ชัน __init__()
จนถึงตอนนี้ เราได้สร้างคลาสลูกที่สืบทอดคุณสมบัติและเมธอดจากพาเรนต์
เราต้องการเพิ่ม__init__()
ฟังก์ชันให้กับคลาสย่อย (แทนที่จะเป็นpass
คีย์เวิร์ด)
หมายเหตุ:ฟังก์ชัน__init__()
นี้จะถูกเรียกโดยอัตโนมัติทุกครั้งที่มีการใช้คลาสเพื่อสร้างอ็อบเจกต์ใหม่
ตัวอย่าง
เพิ่ม__init__()
ฟังก์ชั่นให้กับ
Student
คลาส:
class Student(Person):
def __init__(self, fname, lname):
#add properties etc.
เมื่อคุณเพิ่ม__init__()
ฟังก์ชัน คลาสย่อยจะไม่สืบทอด__init__()
ฟังก์ชัน ของพาเรนต์อีกต่อไป
หมายเหตุ:__init__()
ฟังก์ชันย่อยจะแทนที่การสืบทอด
__init__()
ฟังก์ชันของพาเรนต์
หากต้องการคงการสืบทอด__init__()
ฟังก์ชันของพาเรนต์ ให้เพิ่มการเรียกไปยัง__init__()
ฟังก์ชันของพาเรนต์:
ตัวอย่าง
class Student(Person):
def __init__(self, fname, lname):
Person.__init__(self, fname, lname)
ตอนนี้เราได้เพิ่มฟังก์ชัน __init__() สำเร็จแล้ว และเก็บการสืบทอดของคลาสพาเรนต์ไว้ และเราพร้อมที่จะเพิ่มฟังก์ชันการทำงานใน
__init__()
ฟังก์ชัน