5
การสืบทอดและการเอาชนะ __init__ ใน python
ฉันอ่าน 'Dive Into Python' และในบทของคลาสมันให้ตัวอย่างนี้: class FileInfo(UserDict): "store file metadata" def __init__(self, filename=None): UserDict.__init__(self) self["name"] = filename ผู้เขียนบอกว่าถ้าคุณต้องการแทนที่__init__เมธอดคุณต้องเรียกผู้ปกครอง__init__ด้วยพารามิเตอร์ที่ถูก ต้องอย่างชัดเจน เกิดอะไรขึ้นถ้าFileInfoชั้นนั้นมีมากกว่าหนึ่งชั้นบรรพบุรุษ? ฉันต้องเรียก__init__วิธีการเรียนของบรรพบุรุษทั้งหมดอย่างชัดเจนหรือไม่ นอกจากนี้ฉันต้องทำเช่นนี้กับวิธีอื่นที่ฉันต้องการแทนที่ด้วยหรือไม่?