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