JAVA בספר של אקל פרק 8 CallBack

joeher

New member
JAVA בספר של אקל פרק 8 CallBack

אני מנסה ללמוד JAVA מהספר - אבל לא מצליח לרדת לעומק העיניין הזה של call back , מה הוא רוצה לומר בדיוק? מישהוא יכול להאיר את עיני?
 

DadleFish

New member
מה לא הבנת?

תהיה יותר ספציפי. מן הסתם אף אחד לא יתרגם את פרק 8 עכשיו פה
 

joeher

New member
לגבי מחלקות פנימיות - הוא מסביר

שהחשיבות הגדולה שלהן באפשרות לממש פונקציות callback (כי אין פוינטרים לפונקציות). למה צריך מחלקה פנימית בשביל זה? (או מה היתרון הגדול?)
 

DadleFish

New member
הניסוח שלך לא ממש מדויק.

אחד השימושים היעילים ל-inner classes הוא למימוש callback. לא חייבים לעשות את זה בעזרת מחלקה פנימית. אם תסתכל על הדוגמה שהוא נותן עם caller ו-callee1 ו-callee2, תראה ש-callee1 פשוט מממש את ה-interface, ואילו callee2 משתמש במחלקה פנימית כדי לעשות את אותו הדבר. למה לעשות את זה? ראשית, זה נוח. זה מאפשר לך ליצור הפרדה פנימית בתוך המחלקה בין הפונקציות ה"נורמליות" שלה לבין הפונקציות האלו, הספציפיות. שנית, לפעמים אתה חייב את זה. למשל, דמיין לך שיש שני interface-ים שונים שאתה רוצה לממש כ-callback-ים, אבל שניהם דורשים את אותה פונקציה, נגיד ()Run - והפעילות של כל אחד מהם היא שונה; במקרה כזה אתה לא יכול לרשת מה-Interface-ים הללו, כי תהיה לך התנגשות. אתה חייב להשתמש ב-Inner class לצורך כך. אקל מתייחס לזה בתוך הקוד בדוגמה - Callee2 יורש מ-MyIncrement ולכן כבר יש לו פונקציית increment אחת. הוא רוצה לממש increment עבור ה-callback בצורה שונה, ולכן חייב להשתמש ב-closure, כלומר ב-inner class.
 
למעלה