דף 1 מתוך 1

Task 11

נשלח: 21:27 12/02/2009
על ידי golaniu
במשימה 11,CLASS SUBSET_SUM_EVOLUTION צריך לבנות בנאי שמקבל ערכים מסוימים, כאשר אין ביניהם אובייקט מסוג "אוכלוסייה"
ובתורו (כלומר בשורה הראשונה) צריך לקרוא לבנאי האב" EVOLUTION".
הבנאי של EVOLUTION מקבל אובייקט מסוג "אוכלוסייה", אבל מכיוון שחייבים לרשום את הקריאה אליו בשורה הראשונה, אין אפשרות ליצור כזה. כל נסיון מהסוג

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

super(new Population, maxGenerations);
פשוט לא עובד.
האם צריך לבנות אולי בנאי ברירת מחדל ב EVOLUTION ולשלוח לו במקום אוכלוסייהך ערך NULL?
ופשוט לבנות ולעדכן אוכלוסייה בהמשך הבנאי של SUBSET_SUM_EVOLUTION? זה נראה לי נורא עקום אבל אני לא רואה דרך אחרת

תודה[/code]

נשלח: 21:32 12/02/2009
על ידי yurib
הקוד שלך כמעט נכון, רק תשלח לבנאי של Population את הפרמטרים שהוא צריך

נכון אתה צודק.. שכחתי לגמרי

נשלח: 21:39 12/02/2009
על ידי golaniu
אבל אז נוצר מצב ששולחים בנאי בתוך בנאי בתוך בנאי( איכסס ריקורסיה של בנאים)
ומה לגבי PROTOTYPE ?? פשוט לשלוח לבנאי של POPULATION את האובייקט החדש - SUBSETÉSUMÉINDIVIDUAL ? והוא יבנה בתורו אב טיפוס, אושאני מפספס נקודה כלשהיא

נשלח: 21:44 12/02/2009
על ידי yurib
נכון מאוד.
זאת לא רקורסיה, למעשה הקריאות לבנאים מתבצעות אחת אחרי השניה ולא אחת מתוך השניה, פשוט הכתיב קצת לא רגיל כיוון שאנחנו פועלים תחת המגבלה של להכניס הכל בשורה הראשונה.

הבנתי. לעת עתה תקין. נחכה עד שנתחיל לרוץ. אז יהיה שמח :).

נשלח: 21:48 12/02/2009
על ידי golaniu
הבנתי. לעת עתה תקין.
נחכה עד שנתחיל לרוץ. אז יהיה שמח :).
תודה רבה על העזרה!

נשלח: 21:29 14/02/2009
על ידי אוריאל אוזן
אבל כאשר יש קריאה לבנאי {super} הקומפיילר כותב :
cannot reference maxGeneration before supertype constructor has been called
הקריאה לבנאי הייתה על ידי:
super (new Population(...), maxGeneration).
מדוע הוא לא מצליח לבצע את זה?
תודה רבה ושבוע טוב,
אוריאל אוזן!