דף 1 מתוך 1

הגדרת פונקציות עזר פומביות

נשלח: 19:28 12/04/2010
על ידי matandro
כתבתי פונקציה שמבצעת restructure בתוך AVLSearchNode אני רוצה להשתמש בה בפונקציה remove שנמאת בתוך AVLSearchTree
הפונקציה שכתבתי היא פונקציה static מכיוון שהיא מקבלת nodes ומבצעת פעולה שאין לה צורך באינטרקציה עם אברי המחלקה

מותר לי להגדיר אותה כפומבית סטטית בתוך המחלקה AVLSearchNode ולקרוא לה מבחוץ? (אני יודע שמבחינת קוד אני יכול לעשות את זה השאלה אם יש הגבלות מצדכם)
או שמעדיפים שאני יכתוב מחלקת עזר סטטית חדשה שהפונ' תהיה פומבית בה?
או שאתם מעדיפים שאני יעשה copy paste של גוש קוד לתוך AVLSearchTree

אני מקווה שהתשובה תהיה לא אכפת לנו זה לא קורס על Object Oriented
אפילו שאני לא מוצא דרך יותר יפה גם דרך OOP

Re: הגדרת פונקציות עזר פומביות

נשלח: 19:59 12/04/2010
על ידי TA_Yoni
דווקא קצת איכפת לנו מ OOP .
למה לא להגדיר את השיטה כ protected ב AVLSearchNode ( אם הכוונה לבניה מחדש של תת העץ )

Re: הגדרת פונקציות עזר פומביות

נשלח: 20:12 12/04/2010
על ידי matandro
כי הגדרתם את remove ובצדק כפונקציה של העץ
remove זאת גם פונקציה שעושה restructure
ויותר מזה אחרי שהיא עושה restructure היא גם עולה מ-b למעלה כלומר אני צריך גם לקבל מי זה b
ולכן protected לא טוב לי
אם אני זוכר נכון פונקציה Protected היא פונקציה שאני יכול לקרוא לה רק אם אני extend ל-node והעץ לא עושה את זה הוא סתם משתמש בnodes

חוץ מזה שבניתי אותה כפונקציה סטטית, היא פונקציה דיי כללית אין לה שום דבר שקשור ל-node היא סתם מקבלת 3 כאלה ועושה איתם קסמים והזזות

Re: הגדרת פונקציות עזר פומביות

נשלח: 21:39 12/04/2010
על ידי TA_Yoni
ניתן לקרוא לפונקציה "protected" מכל מחלקה שבאותה חבילה (package) .

אין צורך בשיטות סטטיות בעבודה , אך עם זאת יש לכם חופש פעולה.

Re: הגדרת פונקציות עזר פומביות

נשלח: 17:56 13/04/2010
על ידי TA_Yoni
בדרך אגב, אם אתה רוצה לראות קסם : שנה את שם השיטה שלך ל balance ותראה איך לא תצטרך casting.

Re: הגדרת פונקציות עזר פומביות

נשלח: 18:04 13/04/2010
על ידי matandro
הממ זה יעבוד תודה