4.2.2. Static Strong Typing

Static Typing הולך כמעט תמיד עם Strongly Typing. במקרים רבים מתייחסים אליהם באופן סימטרי ואף מחליפים בין השמות שלהם. השם שתכנות מונחה עצמים מעדיף הוא Strong Typing, מכיוון שכפי שנראה מאוחר יותר יש צורת כתיבה ל-Dynamic Binding גם בשפות שהן Strongly Typed System.

מדוע נרצה להשתמש ב-Strong Typing?

א.      בטיחות – מובטח שתוכנית שהיא st לא תעשה בזמן ריצה שגיאות של טיפוסים (שגיאה בה אובייקט לא מסוגל לטפל בהודעה הנשלחת אליו מכיוון שהוא לא מכיר אותה)! עבור שפות שהן dynamic typed, בזמן ריצה המערכת צריכה לבצע בדיקת טיפוסים.

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

ג.        בהירות – st – אמירות שנותנות רמיזות לקורא מה התוכנית עושה על ידי הצהרה על הסוגים השונים של משתנים. עובדה זו עוזרת בתוכניות גדולות.



כל היתרונות החשובים הללו מתבטאים במערכות גדולות. במערכת קטנה שתרוץ פעם אחת – נושא זה הינו פחות משמעותי.

מאת: ניצן

Borland style vptr

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