פורסם 2007 בפברואר 918 שנים יש לי שאלה: בשביל מה בעצם צריך הורשה של מחלקות? מתי משתמשים בזה?האם בדוגמא הבאה יש צורך בהורשת מחלקות?:ברצוני לבנות מפת משחק, המפה מורכבת מ"בלוקים" בגודל X*Y, לכל בלוק יש את התמונה שלו, נקודות ציון (X,Y) משלו, ונגיד מצב האם הבלוק פעיל לא פעיל, האם ניתן לעבור דרכו או לא ניתן וכו'.אני יוצר מחלקה אשר מטפלת בבלוק אחד ויחיד!. אך ברצוני לבנות מפה זוכרים? בשביל לבנות מפה אני צריך אוסף של בלוקים. נגיד אני משתמש במערך של 10*10 בלוקים וסך הכל יש לי מפה של 100 בלוקים. למפה יש פונקציות משלה כגון, drawmap, initmap וכו'. האם יש צורך לאסוף את כל המשתנים של המפה וכל הפונקציה שלה למחלקה שתירש (לא יודע איך לבטא את זה נכון ובטח שלא איך רושמים את זה נכון :\) מהמחלקה "בלוק"? או שמפסיק ליצור מחלקה חדשה עצמאית? או אולי בכלל אין צורך במחלקה?כמו כן אבקש פירוט מתי כן משתמשים/לא משתמשים בהורשת מחלקות.תודה רבה מראש.
פורסם 2007 בפברואר 918 שנים מחבר מה שאתה בצעם מנסה לומר זה שאם X מורכב ממספר Yים (Y זה מחלקה) אז X אמור להיות הכלה של Y? ואם X הוא לא סוג של Y אז אין צורך בהורשה?ומה זה הכלה?
פורסם 2007 בפברואר 918 שנים גם אם X מורכב מY אחד, וזה קשר של "שייך ל" ולא "סוג של" זה הכלה ולא הורשה.
פורסם 2007 בפברואר 918 שנים מחבר אז במקרה שלי אין צורך ליצור את המחלקה Map כמחלקה שהורשה ממחלקה Block?ועדיין לא הבנתי מה זה הכלה :\
פורסם 2007 בפברואר 918 שנים אני אסביר לך בפשטות את הכוונה של הכלה והורשה.יש מחלקה בשם "בן אדם"יש מחלקה בשם "מהנדס"מהנדס הוא סוג של בן אדם נכון?? לכן מהנדס יורש מבן אדם. זאת הורשה.יש מחלקה בשם "לב"לבן אדם יש לב נכון? אז הוא מכיל לב. זאת הכלה.
פורסם 2007 בפברואר 1018 שנים מחבר אוקי הבנתי..עוד שאלה איך אני מיישם הכלה בסי++? יש אולי מדריך? או לפחות איך אומרים הכלה באנגלית שאני אוכל לחפש בגוגל.
פורסם 2007 בפברואר 1618 שנים אני ממליץ לך כן לבבוד בירושה ולהגדיר מחלקת בסיס שתהיה המפה הראשית , וממנה תגדיר מחלקה נגזרת בלוק שתהיה Template. מימוש באופן הזה לדעתי יהיה יעיל מאוד למטרות שלך ויאפשר לך מודולריות מקסימאלית לעדכונים בהמשך.שים לב, ממולץ שתרכוש קודם ידע בתכנות מונחה עצמים בנושא - מודל ההכלה, הורשה, פולימורפיזם ותבניות. הספר שאני ממליץ עליו הוא של Deitel and Deitel ,C++ How to Program או שפשוט תברר באוניברסיטה הקרובה לביתך אם בסמסטר הקרוב יש קורס בתכנות מונחה עצמים ותיכנס אליו (תברר ברשת כמובן..)
פורסם 2007 בפברואר 1718 שנים אני ממליץ לך כן לבבוד בירושה ולהגדיר מחלקת בסיס שתהיה המפה הראשית , וממנה תגדיר מחלקה נגזרת בלוק שתהיה Template. בבקשה תגיד שאתה צוחק.גם בגלל שהבן-אדם רק מנסה להבין מה זה ירושה והכלה, ואתה שולח אותו ל- templates.גם בגלל שהקשר שהוא תיאר בין map ל- block הוא בבירור קשר של הכלה.ה"בחירה" בין ירושה להכלה נעשית בשלב הגדרת הבעיה.אם ב- map יש X x Y בלוקים, אז זה הקשר בין map ל- block.
פורסם 2007 בפברואר 1718 שנים מחבר גם בגלל שהבן-אדם רק מנסה להבין מה זה ירושה והכלה, ואתה שולח אותו ל- templates.לא לזלזל אני כן יודע מה זה templates
פורסם 2007 בפברואר 1718 שנים לא לזלזל אני כן יודע מה זה templates יש הבדל בין לדעת, לבין להבין את כל ההשכלות שלהם (למשל פיצוץ גודל קובץ הרצה וכו')...מה גם, נושא הירושה הוא מאוד מורכב בשפה C++ (במיוחד בגלל כל נושא הירושה המרובה), ויש כל מני נושאים מורכבים בו (הסתרה, וירטואליות, מבנה בזכרון, שלבי אתחול ועוד ועוד ועוד)...ככלל, בשפות יותר חדשות החליטו שנושא זה מורכב מדי וויתרו על ירושה מרובה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.