בירושה, בדוגמאות שניתנו במחברות, במחלקה הראשית, יש סופר ב INIT. ולא הבנתי את הנקודה הזאת. אם זאת מחלקה ראשית, הסופר של מה בדיוק מועבר אל האיניט שלה, ובעיקר למה…?
ואם היה אפשר עוד טיפה חידוד עם הדגמה של ירושה מרובה. אני יודע שזה לא ‘ספציפי’, אבל קצת לא ברור לי איך מנהלים את האטריביוטס במחלקה שיורשת משתי מחלקות
hadaskam
האם מומלץ שתמיד יהיה init? הסתבכתי מאוד בתרגיל מחשמל בגלל שבהתחלה קיבלנו סוגי מחלקות (או/ וגם וכו) והסתבכתי עם מתי בעצם ליצור מופע שלהם ומתי בעצם לקבל את האינפוט. בקיצור אשמח אם יוקדש בשיעור מחר אפילו רק טיפים לאיך לפתור את תרגיל מחשמל.
בנוסף, יש מקרים שבהם חריגה תקפוץ ובכל זאת תמשך הרצת התוכנית?
efratush
מצטרפת לשאלה של @devorack, מתי זה נכון לרשת את init ממחלקת העל?
כאשר במחלקת העל יש צורך לקבל ארגומנט לתכונה מסוימת ובמחלקת הבת, התכונה הזאת היא קבועה(ישנם תכונות נוספות שאנחנו כן רוצים שיפעלו כמו במחלקת העל).
האם נכון לרשת ולא להשתמש בארגומנט במידה וקיבלנו מהמשתמש,
או שבמקרה כזה, עדיף מלכתחילה ליצור init חדש, שהמשתמש לא יוכל להכניס פרמטר לארגומנט הספציפי.
לדוגמה:
class Example:
def __init__(self, a=None, b=None, c=None):
self.a = a
self.b = b
self.c = c
ובמחלקה היורשת:
def __init__(self, **kwargs):
a = 10
super().__init__(a=a, **kwargs)
או שנכון יותר לעשות כך:
def __init__(self, b=None, c=None):
self.a = 10
self.b = b
self.c = c
(נתקלתי בזה בשאלה של הקוביות שבתתי קוביות היו ערכים קבועים.)
לייק 1
yuval.cagan
לטעמי, בדוגמאות שנתת האופציה הראשונה לכתיבת מחלקה יורשת היא חד משמעית יותר יעילה מבחינת כתיבה.
היא אולי מעט פחות ברורה במבט ראשוני, אך היא חוסכת שורת קוד ושכפול קוד.
efratush
מצד שני אני נותנת אופציה להכניס פרמטר שבטוח יידרס
yuval.cagan
אם את מכוונת שמופע של המחלקה תמיד יהיה בעל הערך הזה, אני לא רואה כאן בעיה
yosefco3
אשמח לשמוע על דיבגגינג.
שיטות , דרך חשיבה נכונה .
אני חושב שזו האתגר הכי מעצבן לכל מתכנת.
eyalmerav
שאלה לסשן תכנות:
כיצד משתמשים בעכבר בקוד של פייתון
לדוגמא:
אני בונה מחלקה חנות שמוכרת מוצרים
המוצרים יופיעו על המסך
וכל לחיצה על מוצר מוסיפה אותו לסל קניות
אם לוחצים על המוצר בסל הקניות זה מחזיר אותו למדף = לחנות
אם לוחצים על מוצר זהה נוסף מן החנות= מסך
הוא מעלה את הכמות
וכו וכו…
אני חושב שזה הרבה יותר נוח מאשר להשתמש במקלדת
והייתי ממש רוצה לדעת כיצד עושים זאת
תודה!
maya
האם יש לינק לאירוע של היום? או שזה גם יהיה לייב ביוטיוב?