PracticU

מצביע לפונקציה - Delegate (הסבר נוסף)

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מונחה עצמים - OOP - Object Oriented Programming - חומר לימוד של מדעי המחשב › מצביע לפונקציה - Delegate (הסבר נוסף)
מילון מושגים:
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.

מצביע לפונקציה - Delegate (הסבר נוסף)
השיעור הוא המשך לנושא הדלגייט, ומדגים איך מעבירים פונקציה כפרמטר לפונקציה אחרת בעזרת דלגייט, בלי שהפונקציה המקבלת יודעת איזו פונקציה תופעל.
יצירה ושימוש
1. הגדרת דלגייט: בוחרים טיפוס דלגייט שמתאר פונקציה בלי ערך מוחזר ובלי פרמטרים, למשל RightToConsoleDelegate.
2. הצבה: יוצרים ממנו משתנה ומעבירים לו את שם הפונקציה write. המשתנה מייצג את הפונקציה, וקריאה דרכו מפעילה אותה.
3. בדיקה בדיבאגר: בהרצה עם דיבאגר רואים שהפונקציה נקראת דרך המשתנה, והפלט זהה לקריאה ישירה.
השוואה בין שני מספרים
1. הבעיה: המשתמש מזין שני מספרים ובוחר פעולה. אם בחר g, מופעלת בדיקה אם המספר הראשון גדול מהשני. אחרת מופעלת בדיקה אם הוא קטן ממנו.
2. פונקציה שמקבלת דלגייט: compare מקבלת שני מספרים ודלגייט, ומפעילה את הדלגייט על המספרים. הפונקציה compare לא משתנה גם כשמוסיפים בדיקות חדשות.
3. דלגייט גנרי: אפשר להגדיר דלגייט גנרי, שיעבוד על טיפוס שייקבע בזמן השימוש, כמו מספרים שלמים, דאבל או אותיות.
שימו לב
הדלגייט הוא בסך הכל מצביע לפונקציה. ההבדל מקוד רגיל הוא שהפונקציה המקבלת מקבלת את ההתנהגות כפרמטר, ולכן אפשר להוסיף פעולות חדשות בלי לשנות אותה. כך אפשר לכתוב פונקציה אחת שמתאימה לכל פעולה שמקבלת דלגייט מתאים.
השיעור הבא בקורס: אירועים - Events - חלק 1

פרקי ההרצאה: מצביע לפונקציה - Delegate (הסבר נוסף)

  1. 00:00

    מהו Delegate ומשמעות המילה

  2. 01:39

    יצירת פרוייקט ופונקציית Write

  3. 02:44

    הצהרה על משתנה Delegate

  4. 04:13

    חיבור ה-Delegate לפונקציה

  5. 05:49

    הפעלת הפונקציה דרך ה-Delegate

תמלול ההרצאה: מצביע לפונקציה - Delegate (הסבר נוסף)

הטקסט המלא של הדקות הראשונות בהרצאה «מצביע לפונקציה - Delegate (הסבר נוסף)» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:20

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

  2. 00:41

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

  3. 01:00

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

  4. 01:18

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

  5. 02:03

    נרצה לקרוא לה תעתיק מחזירה void נקרא לה write והפונקציה הזאת תכתוב משהו נכתוב משהו לקונסול, right line, בואו נגיד שהיא תכתוב hi everybody, אוקיי?

  6. 02:43

    עכשיו, כמו שאתם יודעים, אני יכול לקרוא לפונקציה הזאתי בצורה הזאתי ולהפעיל אותה. delegate מאפשר לנו לקרוא לפונקציה הזאת בצורה קצת אחרת.

  7. 02:58

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

  8. 03:37

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

  9. 03:54

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

  10. 04:13

    פונקציה right לא מחזירה כלום, מחזירה ווייד ולא מקבלת שום פרמטרים. עכשיו איך אני עכשיו מחבר בין ה-delegate לפונקציה הזאתי? אני עושה את הדבר הבא, יש לי delegate שקראתי לו right to console delegate, נקרא לזה del, אני עכשיו יוצר כן delegate למעשה הוא קלאס שאני יכול עכשיו,

  11. 04:50

    אחרי שאני יצרתי אותו אני נותן לו בקונסטרקטור שלו פה אתם רואים אני נותן לו עכשיו משתנה שמייצג פונקציה הוא מקבל פה target שזה שם של הפונקציה שמחזירה void ולא מקבלת שום פרמטרים כמו שאתם רואים פה והפונקציה right היא עונה לקריטריונים האלה אם אני אכניס עכשיו לתוך המשתנה הזה את הפונקציה right אגרום לה שהיא תהיה זמינה

  12. 05:30

    הייתי עם דאבלי גדולה אוקיי אז אני מעביר למשתנה הזה עכשיו שם של פונקציה אוקיי ועכשיו המשתנה הזה שיצרתי מסוג של דריגייט הוא למעשה מייצג את הפונקציה הזאתי אוקיי ואם אני ארצה עכשיו להפעיל את הפונקציה הזאתי אני אוכל לעשות את זה בצורה הבדל בדיוק כמו שאני עכשיו קורא לפונקציה right בצורה הזאתי אני פשוט

  13. 05:58

    קורא לה בצורה הזאתי כי עכשיו המשתנה הזה יפעיל את הפונקציה הזאתי בוא נראה איך זה קורה אז עכשיו אני יוצר את המשתנה מסוג של delegate ובוא נשים פה breakpoint ובוא ניכנס לתוך הפונקציה אנחנו רואים שהפונקציה הזאת נקראת ועכשיו היא תכתוב משהו בוא נראה שהיא כתבה את זה היי רוואלי והיא יוצאת כמובן הקריאה לפונקציה

  14. 06:34

    הזאת היא גם תקרא לפונקציה הזאת כמו שאנחנו נראה עכשיו וגם תכתוב אותו דבר נשאלת השאלה זאת קריאה לפונקציה וזאת קריאה לפונקציה רק שפה זה צורה אחרת אז בוא נראה איך אנחנו יכולים להשתמש ב delegate בצורה יותר חכמה עכשיו בוא נגיד בוא נמחק את הפונקציה הזאתי גם את כל מה שיש לנו פה בוא נגיד שאנחנו רוצים

  15. 07:01

    לקבל מהמסך לקבל מהמשתמש שני מספרים ולהשוות ביניהם אז בוא נסיר פה על משתנה מסוג של סטרינג קונסול read line ואני רוצה עכשיו לקבל עכשיו את מה שהוא הכניס ולהמיר את זה למספר ככה אני ממיר את מה שהמשתמש הכניס כמו שאתם מודים ואני רוצה עכשיו לבצע את

  16. 07:43

    אותו דבר על המספר השני שהוא יכניס בוא אני אנתיק את זה ואני אעשה פה

לקורס המלא: קורס תכנות מונחה עצמים OOP

ההרצאה הקודמת: הסבר כללי על Delegate Event

ההרצאה הבאה: אירועים - Events - חלק 1

הרצאות קשורות מקורסים אחרים

  • הסבר נוסף על SSH
  • מצביע למצביע - Pointer to Pointer
  • פרמטרים לפונקציה Main
  • הסבר נוסף על Port Security

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת C# .NET - קורס תכנות למתחילים - דוט-נט / סי-שארפ - חומר לימוד של מדעי המחשב