Virtual VS. Abstract
אם הבנתי נכון, המטרה של Virtual הוא לאפשר פולימורפיזם, והמטרה של אבסטרקט הוא לאפשר מחלקות שאי אפשר לממש אותם, רק לרשת מהם. 1. האם נכון ?
2. אם הגדרתי במחלקה X מתודה מסויימת כ virtual, זה אומר שאני חייב גם לממש אותה ב X עצמו, או שזה לא חובה ? 3. אם אני יורש מ X, ורוצה להעניק פונקציונליות אחרת למתודה שהוגדרה ב X כ virtual, אני עושה זאת ע"י המילה override לפני שם המתודה במחלקה היורשת ? 4. אם Y יורש מ X ולא מממש בעצמו את המתודה הוירטואלית שהוגדרה ב X, ואובייקט מסוג Y מפעיל מתודה בשם הזה, האם המתודה שהוגדרה ב X תופעל ? 5. אם הגדרתי ב X מתודה רגילה (לא וירטואלית), ו Y יורש מ X ואני רוצה לשנות את התפקוד של המתודה הנ"ל, אני אוכל לעשות זאת, למרות שהיא לא הוגדרה כוירטואלית ? 6. מה משמעות ה new לפני הגדרת מתודה ? (שבירת שרשרת ירושה ? מה זה אומר ?) 4. מתודות אבסטרקטיות יכולות להיות מוגדרות אך ורק במחלקה אבסטרקטית, ובמחלקה אבסטרקטית יכולים להיות מוגדרים אך ורק מתודות אבסטרקטיות. אמת ? תודה !!!
אם הבנתי נכון, המטרה של Virtual הוא לאפשר פולימורפיזם, והמטרה של אבסטרקט הוא לאפשר מחלקות שאי אפשר לממש אותם, רק לרשת מהם. 1. האם נכון ?