מחלקות שאלה הבנה

תגיות:

היי,
קודם כל רוצה להודות לכל על ההשקעה בחומרים ובדוגמאות ועל המענה המהיר.

יש לי שאלה על דוגמא הנ"ל: אני לא מבינה למה צריך לרשום גם את user5 = User() וגם את user5.create_user(‘James’, ‘McNulty’, ‘Jimmy’, 49)?

הראשון - user5 = User() הוא לא מיותר? הרי כבר קוראים למתודה שיוצרת את היוזר…

הקריאה למחלקה (User()) יוצרת מופע, שאותו יהיה אפשר להעביר ל־self.
בלי הקריאה למחלקה לא יהיה מופע שאליו יהיה אפשר לבצע את השמת התכונות first_name, last_name וכו’.

מופע, רק מזכיר, היא “ישות” אחת שיצרנו בעזרת המחלקה (התבנית, השבלונה).
דמייני שהמחלקה עצמה לא מחזיקה נתונים, אלא רק המופעים שנוצרים ממנה.
כדי לשנות נתון כמו first_name צריך ליצור מופע חדש (אדם חדש) ולשנות את שמו הפרטי של אותו מופע.

לייק 1

תודה על המענה,
ולמה בדוגמא הזאת למשל לא נזקקנו להשתמש ב user5 = User()?

ודאי שנזקקנו – פשוט העברנו ל־User() הפעם פרמטרים (הקריאה עדיין שם – פשוט הסוגריים אינם ריקים).
הצלחנו להעביר ל־User פרמטרים כיוון שיש הפעם את הפעולה __init__.
כדאי אולי לסיים לקרוא את המחברת ולעבור עליה שוב :slight_smile: