🔗 super() - גישה לאב
super() מאפשרת לקרוא למתודות של מחלקת האב מתוך מחלקת הבן. הכי נפוץ: קריאה לבנאי האב.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
return f'שמי {self.name}, גיל {self.age}'
class Student(Person):
def __init__(self, name, age, student_id):
super().__init__(name, age) # קריאה לבנאי האב!
self.student_id = student_id
# דריסת מתודה (Method Overriding)
def introduce(self):
base = super().introduce() # לוקחים את הבסיס
return f'{base}, מספר {self.student_id}'
s = Student('דני', 22, 12345)
print(s.introduce())
# שמי דני, גיל 22, מספר 12345
⚠️ שכחת super().__init__() בבנאי הבן תגרום לכך שמשתני האב (name, age) לא יאותחלו, וגישה אליהם תזרוק AttributeError!