2.3. מושג האובייקט

נחלק את מושג האובייקט לשלושה נושאים:

  • זהות האובייקט. זהות האובייקט מתבטאת ב:
    • מתי העצם קיים (נוצר, נעלם).
    • כיצד הוא יגיב לשאלות השוואה והשמה (שיוויון לאובייקט אחר – מצב או זהות).
  • החלק הסטאטי של האובייקט:
    • מבנה האובייקט: מאפיינים הניתנים לשינוי/לא ניתנים לשינוי, מאפיינים שהם ערכים, מאפינים שהם התייחסויות.
    • מצב האובייקט – הערך של השדות שבו. ברגע נתון – הערך הוא קבוע.
  • החלק הדינאמי של האובייקט:
    • הפרוטוקול: ההודעות שהאובייקט מכיר.
    • התנהגות האובייקט: התגובה של האובייקט להודעות.



מאת: ניצן

Borland style vptr

לפי מה שאני מכיר:
"חסרון בגישה זו: גם כאשר איננו משתמשים ב-dynamic binding – אנחנו משלמים במקום"
לא נכון , עבור מחלקה A שאין לה מתודות דינמיות לא יווצר כלל המצביע, ולמשל עבור מחלקה B שיורשת מA פשוט נוסיף בהתחלה את המצביע, ואחרי הבלוק של A את שאר האינפורמציה של B . וככה לא משלמים על מה שלא משתמשים ועקרונות C++ נשמרים.
מה שכן באמת הcasting קצת יותר מסובך....
שיתוף:
| עוד