קוויז 9, שאלה 1, לא מבין את זה.

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

שלח תגובה
Fogpiskalo
הודעות: 59
הצטרף: 20:03 25/10/2009

קוויז 9, שאלה 1, לא מבין את זה.

שליחה על ידי Fogpiskalo » 19:09 20/12/2009

בשאלה הראשונה, במימוש שיטת ה"גטר", התשובה ה'נכונה' היא פשוט להחזיר את הסטרינג עצמו, יענו
return name;
אבל מכיוון שמחרוזות הן עצמים, להחזיר אותן זה בעצם להחזיר את הפוינטר אליהן, כלומר עכשיו מי שקרא ל'גטר' יכול לשנות את הערכים במחרוזת, אפילו שהגדרנו אותה כ-private
במקרה כזה אנחנו לא אמורים ליצור סטרינג חדש, להעתיק אליו את הערכים של המחרוזת, ואותו להחזיר?

TA_Adi
הודעות: 106
הצטרף: 16:53 05/11/2008

Re: קוויז 9, שאלה 1, לא מבין את זה.

שליחה על ידי TA_Adi » 07:24 21/12/2009

איך ניתן לשנות את הערכים של המחרוזת?
איזו שיטה משנה את התוכן של האובייקט מסוג String המוחזר?
צוות מבוא למדעי המחשב (מתרגל)

Fogpiskalo
הודעות: 59
הצטרף: 20:03 25/10/2009

Re: קוויז 9, שאלה 1, לא מבין את זה.

שליחה על ידי Fogpiskalo » 20:04 21/12/2009

אז אני מסתמך כאן על העובדה (הדיי שרירותית) שבמחלקה 'סטרינג' אין שיטות setter?

קצת לא רציני, לדעתי..

TA_Adi
הודעות: 106
הצטרף: 16:53 05/11/2008

Re: קוויז 9, שאלה 1, לא מבין את זה.

שליחה על ידי TA_Adi » 19:11 22/12/2009

ספציפית לגבי String זה בסדר גמור (מתוך Java API לגבי String):

קוד: בחירת הכל

Because String objects are immutable they can be shared
צוות מבוא למדעי המחשב (מתרגל)

Fogpiskalo
הודעות: 59
הצטרף: 20:03 25/10/2009

Re: קוויז 9, שאלה 1, לא מבין את זה.

שליחה על ידי Fogpiskalo » 14:06 23/12/2009

גם המחלקה 'פוינט' היא immutable
זה אומר שאני יכול להחזיר פוינטר לאובייקט עצמו?

Fogpiskalo
הודעות: 59
הצטרף: 20:03 25/10/2009

Re: קוויז 9, שאלה 1, לא מבין את זה.

שליחה על ידי Fogpiskalo » 19:55 23/12/2009

אני חוזר בי,
שכחתי שהשיטה translate
אכן משנה את הערכים הפנימיים של האובייקט....

שלח תגובה

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