2.3.1. החלק הסטאטי של האובייקט

נפרט מעט יותר על המרכיבים הסטאטיים של האובייקט.

מושגים בסיסיים:

  • מאפיינים (Attributes): המקום בו מצב האובייקט נשמר. מכונים לעתים: שדות, מאפיינים, תכונות, instance variables, data members.
  • מבנה האובייקט (Structure): אוסף כל המאפיינים של האובייקט.
  • מצב האובייקט: הערך הנוכחי של מאפייני האובייקט השונים.

סוגי מאפיינים:

  • Immutable - מאפיינים סטאטיים - מאפיינים שאינם ניתנים לשינוי.
  • Mutable - מאפיינים דינמיים - מאפינים הניתנים לשינוי.

דוגמא:

class Person

{

      // Immutable Attribute

      const int IDNumber;

      // Mutable Attribute

      int Age;

};

סוגי הערכים שאובייקט יכול לשמור בתוכו:

  • סקלרים: שלמים, מספרים ממשיים, ערכים בוליאניים.
  • מכולות: מערכים, רשימות, עצים וכו'.
  • אובייקטים אחרים.


מאת: ניצן

Borland style vptr

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