3.3.2.1. The 1 Level System

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

לכל אובייקט מסוג X יש Prototype המגדיר כיצד ליצור איברים מסוג X.

כשאנו רוצים ליצור אובייקטים חדשים מסוג X אנו עושים זאת על ידי מילוי שדות ריקים ב-Prototype.

שפה לדוגמא שיש בה 1-Level היא Self.

מאת: ניצן

Borland style vptr

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