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