2.2.2. מודולים

מודול בשפת C יכול להחשב אף הוא לאובייקט. מודול הוא קובץ H בשילוב עם קובץ C, המקיימים כי קובץ ה-H מציע ממשק מסויים למשתמש, קובץ ה-C מממש את הממשק הזה. קובץ ה-C מכיל מספר משתנים סטאטיים שהינם משתנים פנימיים של המודול.

דוגמא למודול: מחסנית הממומשת על ידי משתנים סטטיים.

התכונות האובייקטליות של מודול:

  • מודול שומר מצב על ידי משתנים סטאטיים.
  • מודול הוא אובייקט יחיד – לא יכולים להיות קיימים שני אלמנטים מסוג המודול.
  • התנהגות המודול מוגדרת על ידי מספר פונקציות – כל הפונקציות שהוגדרו בקובץ ה-H.



מאת: ניצן

Borland style vptr

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