פורסם 2007 ביולי 2418 שנים יש לי מחלקה IFly שהגדרתי אותה interface. ממנה יורשות שלוש מחלקות: מטוס, ציפור ודבורה. כל מחלקה מממשת פונקציה1. תעופה (אם data member speed נמצא מעל מספר מסוים)2. נחיתה (אם speed מאופס)-> שתי הפונקציות מחזירות מחרוזת האם התעופה / הנחיתה הצליחו.מנסה לבנות שתי פונקציות :1. פונקציה שמקבלת מספר (1 או 2 או 3) ולפיו יוצרת אוביקט חדש בהתאמה (1 = new מטוס, 2 = new ציפור, 3 = new דבורה)הפונקציה תחזיר אובייקט מסוג IFly. (עושים switch case לפי הארגומנט שהפונקציה קיבלה ומצהירים על אוביקט חדש?)2. פונקציה שמקבלת מספר, וערך מהירות והיא קוראת לפונקציה 1 יוצרת אוביקט חדש ומאתחלת את המהירות שלו -> איך עושים את זה?
פורסם 2007 ביולי 2418 שנים ב class של כל אחד שימי property למשתנה מהירות.ב class שבו את עובדת שימי משתנה זמני שיקבל כל הזמן את הערך של המהירות (שיתחיל ב 1- )בפונקציה 1 באמת עושים switch ואז יוצרים את האובייקט. וגם מוסיפים בדיקה האם המשתנה הזמני של מהירות גדול מ 0 אם כן אז ה DM בתוך ה Class שווה למשתנה הזמני ואחרי זה צריך להחזיר את המשתנה ל 1- בשביל הפעם הבאה.בפונקציה 2 דואגים שהפונקציה תשנה את הערך של המשתנה הזמני ותפעיל את פונקציה 1.וזה הכל.... די פשוט
פורסם 2007 ביולי 2418 שנים מחבר די פשוט- אבל הסתבכתי...עשיתי את פונקציה 1 היא מחזירה לי אוביקט-> לאן? איך אני משתמשת בו?
פורסם 2007 ביולי 2518 שנים למה שהפונקציה תחזיר אובייקט? לא אמרת שהיא צריכה להחזיר אובייקט...אם זה המקרה אז את צריכה להחזיר את האובייקט ולבדוק את ה type שלו כדאי לדעת אם הוא ציפור מטוס או דבורה...object o = function1(); // צריך לבוא פה הפרמטר של המספר שרצית שהפונקצה תיצור ממנו אובייקטif(o.type == typeof(plane){plane p= (plane)o;}else if(o.type == typeof(bee){bee b = (bee)o;}else{bird bi = (bird)o;}
פורסם 2007 ביולי 2518 שנים צודק, לא ראיתי שהיא אמרה את זה בפוסט הראשון.. בכל מקרה אם זה מחזיר אובייקט מסוג Ifly אפשר לבצע את כל מה שהגדרת ב interface (מן הסתם) כך שאין הבדל
פורסם 2007 ביולי 2518 שנים מחבר פונקציה שמקבלת מספר (1 או 2 או 3) ולפיו יוצרת אוביקט חדש בהתאמה (1 = new מטוס, 2 = new ציפור, 3 = new דבורה)הפונקציה תחזיר אובייקט מסוג IFly<מצטערת על החוסר בהירות אני מסתבכת בעצמי>איך אני משתמשת במה שהפונקציה מחזירה לי?
פורסם 2007 ביולי 2518 שנים את מקבלת אובייקט מסוג IFly, ובעזרתו את יכולה להשתמש במתודות שהוגדרו בממשק. זה פולימורפיזם.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.