ABA


"מישהו יכול להסביר לי מה זה delegate?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #16000 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 16000
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   18:04   23.07.10   
אל הפורום  
  מישהו יכול להסביר לי מה זה delegate?  
 
   מה המהות של Delegae, למה צריך את זה? מה המטרה?

אם יהיה איזה קוד נגיד ב- Java זה יעזור.

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


תודה רבה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  בגדול זה פוינטר לפונקציה.. VeNom  23.07.10 22:08 1
     תודה אחי, אבל זה כללי מדי מדי :) sharkk 23.07.10 23:02 2
  אני מקווה שהשקף הבא יעזור לך: ldan192  24.07.10 17:05 3
  בדרך כלל אתה עוטף פונקציה שאתה קורא לה רק akoka2 24.07.10 17:56 4
  יש לזה הרבה מאוד שימושים ronen333  24.07.10 18:08 5
     תודה חברה + שאלה sharkk 25.07.10 00:10 6
         תראה את זה כ.. MiP 25.07.10 21:43 7
             תודה, אבל אני מחפש Delegate לתיכנות לאייפון ואני מבין sharkk 26.07.10 09:17 8
                 באיזה שפה אתה כותב את זה? ronen333  26.07.10 12:05 9
                     Objective-C (אלוהים ייקח אותה) בטח:| akoka2 26.07.10 13:58 10
                         אכן אובג'קטיב C... צריך פשוט להתרגל... :) + הבנה+שאלה sharkk 27.07.10 19:28 11
  אולי זה יעזור eladmi  05.08.10 12:49 12

       
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   22:08   23.07.10   
אל הפורום  
  1. בגדול זה פוינטר לפונקציה..  
בתגובה להודעה מספר 0
 
   אפשר להסתכל על זה כמחלקה שעוטפת מתודה..אני באמת נותן לך את ההסבר הכי שטחי..
ממה שאני זוכר זה לא קיים ב JAVA ולכן אין מה לתת קוד.
זה נפוץ מאוד ב c#..וזה מאוד מתחבר לתכנות מונחה אירועים..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   23:02   23.07.10   
אל הפורום  
  2. תודה אחי, אבל זה כללי מדי מדי :)  
בתגובה להודעה מספר 1
 
   קראתי בכמה מקומות שזה קריאה לפונקציה, אבל לא הבנתי למה השימוש של זה...
ומה המטרה של זה? איפה נהוג להשתמש בזה?


תודה על העזרה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   17:05   24.07.10   
אל הפורום  
  3. אני מקווה שהשקף הבא יעזור לך:  
בתגובה להודעה מספר 0
 
ערכתי לאחרונה בתאריך 24.07.10 בשעה 17:08 בברכה, ldan192
 
http://webcourse.cs.technion.ac.il/236703/Spring2010/ho/WCFiles/11%20-%20C%23%20part%202.pdf

הסבר בכלליות:
אתה רוצה לייצר שק (!) של מתודות שיופעלו ע"י קבוצה של קלאסים (כולם יחד), עבור כל delegate.
תוכל בקלות להוסיף ולהסיר איברים מהשק הזה.

קח בחשבון שעקרונות ההכלה מאוד קריטיים פה (למרות שבדר"כ בלי קשר בהורשה ו-voerloading ב-#C הם קריטיים גם ככה).


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   17:56   24.07.10   
אל הפורום  
  4. בדרך כלל אתה עוטף פונקציה שאתה קורא לה רק  
בתגובה להודעה מספר 0
 
   דרך אירועים(Event Handler), זה די נוח.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   18:08   24.07.10   
אל הפורום  
  5. יש לזה הרבה מאוד שימושים  
בתגובה להודעה מספר 0
 
   נגיד אתה רוצה ליצור פונקציה כללית שממיינת מערך, אבל מערך יכול להיות מסוגים שונים. אם אתה רוצה שזה למשל יהיה כללי אתה נותן "מצביע לפונקציה" שמשווה.. וככה יש לך פונקציה כללית שממיינת.

יש עוד כמובן שימושים רבים.. אני מאמין שאם תעיין במצגת שעידן הביא זה יעשה לך קצת סדר בראש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   00:10   25.07.10   
אל הפורום  
  6. תודה חברה + שאלה  
בתגובה להודעה מספר 5
 
   ערכתי לאחרונה בתאריך 25.07.10 בשעה 00:17 בברכה, sharkk
 
delegate זה הרי להאציל(להעביר) סמכות.

נשאלת השאלה למי העביר סמכות מפונקציה אחת לשנייה? לאובייקט? ל- This?

לא מבין איך הקטע הזה פועל...?

אם אפשר דוגמא קטנה מחיי היום יום זה יעזור


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MiP
חבר מתאריך 24.5.05
782 הודעות
   21:43   25.07.10   
אל הפורום  
  7. תראה את זה כ..  
בתגובה להודעה מספר 6
 
   function pointers
רק שזה מימוש של כמעט אותו הדבר אבל ב-
C++

כלומר אתה פשוט מצביע לפונ' בזיכרון ושולח לה כל פרמטר שרק תרצה.
כך תוכל לנהל את המצביעים שלך ביתר קלות ולשלוט על התוכנית מכל מקום.

יש לזה מלא שימושים
תקרא את המאמר הבא יש לך הסבר ומימוש של הדבר:
http://www.codeproject.com/kb/cpp/FastDelegate.aspx



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   09:17   26.07.10   
אל הפורום  
  8. תודה, אבל אני מחפש Delegate לתיכנות לאייפון ואני מבין  
בתגובה להודעה מספר 7
 
   עכשיו שזה שונה מDelegate נגיד ב- C++ או ב- C#...

המימוש שונה והרעיון שונה...

אם מישהו יודע למה זה משמש לתיכנות באייפון אז בשמחה אשמח לשמוע


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   12:05   26.07.10   
אל הפורום  
  9. באיזה שפה אתה כותב את זה?  
בתגובה להודעה מספר 8
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   13:58   26.07.10   
אל הפורום  
  10. Objective-C (אלוהים ייקח אותה) בטח:|  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   19:28   27.07.10   
אל הפורום  
  11. אכן אובג'קטיב C... צריך פשוט להתרגל... :) + הבנה+שאלה  
בתגובה להודעה מספר 10
 
   לפי מה שהבנתי באייפון נגיד רשום שם שם מחלקה שמחזיקה דליגיט נגיד:
alert.delegate = self;
זה אומר שמי שיהיה אחראי על מימוש הפרוטוקול יהיה המחלקה הנוכחית ז"א שכאשר יתרחש אירוע של האובייקט הזה אזי המחלקה הנוכחית תקח את זה ותממש אותה.

איך רשומים את הדיליגיט עצמו יש דוגמאות אבל עדין אני לא שלם עם זה במאה אחוז...

ב- C# זה שונה לגמרי, זה יותר דומה ל- C או C++ שבאמת שם זה פנייה לפונקציה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
eladmi 
חבר מתאריך 11.5.02
1465 הודעות
   12:49   05.08.10   
אל הפורום  
  12. אולי זה יעזור  
בתגובה להודעה מספר 0
 
http://www.doronamir.com/csharp/007.htm


THE Joker


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net