PracticU

Invoking a Function from within a Function

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים › Invoking a Function from within a Function
Invoking a Function from within a Function
פונקציה יכולה לקרוא לפונקציה אחרת, ובכך נוצרת שרשרת קריאות. ההרצאה מדגימה זאת עם שלוש פונקציות: f1, f2 ו-f3.
השרשרת
1. קריאות מקוננות: f1 קוראת ל-f2, ו-f2 קוראת ל-f3. כשמפעילים את f1, התוכנית קופצת ל-f2 ומשם ל-f3.
2. סדר ההדפסות: ההדפסות מופיעות לפי סדר הקפיצות, כלומר f1, f2, f3.
3. סדר הסיום: כשכל פונקציה מסתיימת, התוכנית חוזרת לפונקציה שקראה לה. לכן ההודעות end of f3, f2, f1 מופיעות בסדר ההפוך.
חלוקה לחלקים קטנים
4. שורה של כוכביות: פונקציה אחת מדפיסה שורה של שבע כוכביות.
5. ריבוע על ידי קריאות חוזרות: פונקציה אחרת, print square, קוראת לפונקציית השורה שבע פעמים, ומתקבל ריבוע בגודל 7 על 7.
6. שמות משתנים זהים: מותר להשתמש באותו שם משתנה, כמו i, בשתי פונקציות שונות, כי לכל פונקציה יש משתנים משלה. המרצה מציין שמה שקורה בזיכרון נלמד בהמשך.
כך אפשר לחלק קוד מורכב לשכבות קטנות, כשכל אחת קוראת לאחרת.
השיעור הבא בקורס: תרגילים על Building and Invoking Functions
מילון מושגים:
פונקציה – קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
משתנה – שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
זיכרון – רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.

פרקי ההרצאה: Invoking a Function from within a Function

  1. 00:00

    פונקציה שקוראת לפונקציה אחרת

  2. 00:48

    שרשרת קריאות בין F1, F2 ו-F3

  3. 01:43

    סדר ההדפסות כשחוזרים מכל קריאה

  4. 02:41

    תרגיל: הדפסת שורה מכל פונקציה

תמלול ההרצאה: Invoking a Function from within a Function

הטקסט המלא של הדקות הראשונות בהרצאה «Invoking a Function from within a Function» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:30

    בואו נכתוב את f2 והיא תדפיס אם f2 על המסך, ובואו ניקח גם את f3 שתציג אם f3 על המסך. בוא נניח ש-F1 גם קוראת ל-F2 ו-F2 גם קוראת ל-F3. אם אנחנו נפעיל את F1, מה אנחנו בעצם הולכים לראות על המסך?

  3. 00:57

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

  4. 01:09

    בואו נריץ והנה אנחנו רואים F1, f2, f3. כל פעם שמתבצעת הדפסה, מתבצעת קפיצה לפונקציה.

  5. 01:20

    עוד יותר דיוק, כל פעם שמתבצעת קריאה לפונקציה, המערכת קופצת לפונקציה. אם אנחנו נדפיס כאן end of f1, נדפיס פה end of f2 ונדפיס פה end of f3, מה בעצם אנחנו נראה?

  6. 01:43

    אז בגלל שאנחנו קראנו ל-f1, אז אנחנו נראה קודם כל את זה, ואנחנו לא נראה end of f1 מיד כי היא מתבצעת קפיצה ל-f2. כאן אנחנו נראה את i מ-f2 ומתבצעת קפיצה ל-f3.

  7. 01:57

    כאן אנחנו נראה i m-f3 ואז end of f3 והמערכת חוזרת לכאן כי זאת הייתה קפיצה ל-f3. ואז אנחנו נמשיך את זה ונראה end of f2 ואז בעצם סיימנו את f2 אז רק הקריאה הזאת הסתיימה ואנחנו ממשיכים ומדפיסים end of בואו נרווח, נריץ, והנה f1, f2, f3 וה-end היא f3, f2, f1. אז אנחנו רואים שפונקציה יכולה

  8. 02:34

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

  9. 02:48

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

לקורס המלא: קורס ג'אווה למתחילים אונליין

ההרצאה הקודמת: Creating a Function

ההרצאה הבאה: תרגילים על Building and Invoking Functions

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

  • פונקציה - Function
  • Stored Procedure vs Function
  • Asynchronous - xxxAsync Function
  • מצביעה לפונקציה - Function Pointer

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

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס סלניום מתקדם - CI/CD - Continues Integration
  • קורס מייבן - Maven