למתרגלים - למבחן

מנהלים: TA_nimrod, TA_Igor, TA_Adi

שלח תגובה
michal cohen
הודעות: 87
הצטרף: 19:04 11/11/2009

למתרגלים - למבחן

שליחה על ידי michal cohen » 18:26 22/01/2010

אני רואה שבחלק מהמבחנים משתמשים השיטות עזר (כי נאמר בשאלה שמותר) בתשובות בGETTERS וSETTERS ובחלק לא משתמשים בזה...
וגם לא רשום באותן מבחנים אם צריך או לא צריך להשתמש בGETTERS וSETTERS (רשום רק להשתמש בשיטות כמו שלמדנו בכיתה).
אז שתי שאלות:
1. אז צריך או לא צריך להשתמש בGETTERS וSETTERS?
2. צריך לזכור בע"פ איזה שיטות יש ללינק ליסט ולעץ בינארי? (הכוונה לא ללמוד אותם בע"פ אלא אם צריך לדעת פשוט איזה ישטות אנחנו יכולים להשתמש כעזר)

michal cohen
הודעות: 87
הצטרף: 19:04 11/11/2009

Re: למתרגלים - למבחן

שליחה על ידי michal cohen » 18:27 22/01/2010

סתם גם שתהיה דוגמא...
יש מבחנים שכשרוצים לקרוא לבן השמאלי עושים getLeft כשאנחנו בכיתה עשינו כל הזמן this.left או משהו כזה...

ilyal
הודעות: 63
הצטרף: 10:27 30/03/2009

Re: למתרגלים - למבחן

שליחה על ידי ilyal » 18:35 22/01/2010

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

למה עושים את זה?
 

eliorar
הודעות: 35
הצטרף: 19:43 11/11/2009

Re: למתרגלים - למבחן

שליחה על ידי eliorar » 12:09 23/01/2010

היתרון של Getters /Setters הוא בפולימורפיזם ושמירה על עקרון ההכמסה, בעוד שהשדות אינם עוברים בהורשה, השיטות שמחזירות את האובייקטים כן עוברות בהורשה,
זה בדרך כלל מונע טעויות של קריאה למשתנה עם הערך שלא בדיוק ציפית לו.
במימושים בכיתה בכל טיפוסי הנתונים לא היו בכלל getter/ setters והתשובה שהשיבו לנו היא שזה כדי שהמימוש יהיה יותר פשוט.
שים לב שהמימוש הנוכחי גם פוגע בכללי ההכמסה כי בעצם אם ה data/next/right וכו' הוא public אז ניתן לשנות אותו בזמן ריצה ואז דברים לא בדיוק יעבדו כמו שצריך.
בכל מקרה, אני חושב שכדאי להשתמש ב getter בכל מקרה אם הוא נתון בשאלה ולפי מה שראיתי זה מה שקורה ברוב המקרים.

TA_Yoni
הודעות: 236
הצטרף: 13:44 18/10/2009

Re: למתרגלים - למבחן

שליחה על ידי TA_Yoni » 13:48 23/01/2010

צריך להכיר את המימושים שעשינו בשעורים ובתרגולים. מה שמותר\אסור יהיה נתון בשאלה.
המתרגל יוני

שלח תגובה

חזור אל “- מבוא למדעי המחשב 2010”