2.3.2. זהות האובייקט

זהות: התכונה של אובייקט המבדילה אותו מאחרים. האובייקט יכול להשתנות אולם הזהות שלו נשמרת.

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

קיימים מקרים בהם יש צורך למתודה של האובייקט לגשת אל האובייקט עצמו (לזהות את האובייקט). פעולה זו נעשית על ידי מילים שמורות בשפות השונות. this בשפת C++, self ב-Smalltalk.

מאת: ניצן

Borland style vptr

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