משימה 5 תרגיל 5

מנהל: The Architect

נעול
orankap
הודעות: 67
הצטרף: 14:23 02/12/2008

משימה 5 תרגיל 5

שליחה על ידי orankap » 13:44 10/02/2009

מה הבנאי של Population אמור לעשות בדיוק?
אם הבנתי נכון אני אמור ליצור מערך בגודל size של individual, ולהתחל את כל התאים בו בשכפול של prototype??
אם זה המצב אז בשביל מה אני מקבל את Selection לבנאי?

yinongo
הודעות: 35
הצטרף: 18:47 25/11/2008

שליחה על ידי yinongo » 14:57 10/02/2009

מצטרף לשאלה...

yurib
הודעות: 207
הצטרף: 18:30 19/11/2008

שליחה על ידי yurib » 15:11 10/02/2009

אם תקרא קצת הלאה, תראה שעליך לכתוב באותה המחלקה שיטה ש"מקדמת" את האוכלוסיה בדור אחד. ההתקדמות נעשית ע"י בחירה של פריטים מהאוכלוסיה, ביצוע המוטציה והשיחלוף ויצירת אוכלוסיה חדשה. איך תדע את מי לבחור וכיצד לבצע את השיחלוף ?

ayalshimoni@walla.co.il
הודעות: 27
הצטרף: 21:29 07/12/2008

שליחה על ידי ayalshimoni@walla.co.il » 00:46 11/02/2009

הSELECTION איכשהו הגיוני אבל איך אני מקבל PROTOTYPE מטיפוס INDIVIDUAL שאי אפשר ליצור כזה בכלל בגלל שהוא ABSTRACT. ומה אני אמור לעשות איתו? לשכפל אותו למערך של INDIVIDUAL? אבל אני לא יכול ליצור מערך של משהו אבסטרקטי..
וכל המחלקה הזאת צריכה לטפל באוכלוסייה של INDIVIDUAL שהוא אבסטרקט אז איך אפשר לעשות דבר כזה ..?
גם אותו דבר לגבי הפונקציה GETBEST איך אני יכול להחזיר אובייקט שהוא מטיפוס אבסטרקטי? זה ממש לא הגיוני ...ולמה לא הוסבר שום דבר לגבי זה בעבודה עצמה?

taites
הודעות: 46
הצטרף: 15:46 25/11/2008

אייל אני מסכים

שליחה על ידי taites » 21:09 11/02/2009

אין לי שמץ מה הם רוצים שמה...

yurib
הודעות: 207
הצטרף: 18:30 19/11/2008

שליחה על ידי yurib » 21:40 11/02/2009

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

קוד: בחירת הכל

Individual newInd = new Individual()
אתם כן יכולים להגדיר מערך מסוג Individual, את כן יכולים לכתוב שיטה שמחזירה ערך מטיפוס Individual, כל אלו כמובן לא יעבדו עם אובייקטים מסוג Individual ישירות כיוון שכאמור, אובייקט כזה הוא אובייקט שחסר בו מידע, אבל הן יוכלו לעבוד עם כל אובייקט שיורש מ Individual, כי הרי כפי שנלמד בכיתה, בין מחלקת אב לתת מחלקה קיים יחס "is a", כלומר כל אובייקט שיורש מ Individual הוא סוג של Individual.
בשביל להתגבר על "מכשול" היצירה של Individual חדש אנחנו מממשים את ממשק ה Cloneable, קריאה לשיטה clone תחזיר לנו אובייקט חדש שהוא העתק של האובייקט ממנו קראנו לשיטה, נוכל להישתמש בשיטה מבלי שנדרש לדעת איך בנוי האובייקט ואיך הוא ממומש.

shlomz
הודעות: 28
הצטרף: 16:44 12/12/2008

שליחה על ידי shlomz » 12:52 17/02/2009

עדיין לא הסברת איך אני משתמש שם ב selection בדיוק...
איך זה עובד מבחינת הסינטקס? זה ממש לא ברור..

yurib
הודעות: 207
הצטרף: 18:30 19/11/2008

שליחה על ידי yurib » 19:58 17/02/2009

selection זה בסה"כ אובייקט שידוע לך שהוא מממש את השיטה reproduce לה תזדקק בשלב מאוחר יותר. כשתגיע לשלב הזה, תוכל לקרוא לשיטה בדיוק באותה הדרך בה קוראים לכל שיטה אחרת של כל אובייקט אחר... MyObject.myMethod(parameter)

נעול

חזור אל “- מבוא למדעי המחשב”