PracticU

טווח הכרה - Scope

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

טווח הכרה - Scope
השיעור מסביר טווח הכרה (scope) של משתנה: היכן בקוד אפשר להשתמש בו, ומתי הוא נעלם.
השלבים העיקריים
1. משתנה מקומי: מוגדר בתוך פונקציה וקיים רק בין הסוגריים המסולסלים שלה. ברגע שיוצאים מהפונקציה, המשתנה נעלם.
2. שימוש מחוץ לטווח: ניסיון להשתמש במשתנה מקומי מחוץ לבלוק שבו הוגדר נכשל. הקומפיילר מציין שהשם לא קיים בהקשר הנוכחי.
3. משתנה של המחלקה: משתנה שמוגדר בתוך המחלקה, מחוץ לפונקציות, מוכר בכל הפונקציות של המחלקה. בדוגמה: צבע הרכב.
4. בלוקים נוספים: גם if ו-for יוצרים טווח משלהם. משתנה שהוגדר בתוך if נעלם אחרי הסוגר.
5. שמות זהים: שני משתנים באותו שם בטווחים נפרדים לא מתנגשים, ולכן אפשר להשתמש שוב בשם אחרי שהמשתנה הראשון נעלם.
שימו לב
בזמן דיבאג, משתנה שכבר יצא מהטווח שלו כבר לא מוצג עם ערך, ומרחף העכבר עליו לא מציג תוכן.
כשיודעים איפה משתנה קיים, קל יותר לקרוא את הקוד ולהבין מאיפה בא כל ערך.
השיעור הבא בקורס: הרשאות גישה - Modifiers

פרקי ההרצאה: טווח הכרה - Scope

  1. 00:00

    טווח הכרה של משתנים

  2. 00:58

    היכן משתנה מוכר

  3. 02:05

    משתנה מקומי local variable

  4. 03:01

    משתנה קיים רק בתוך הפונקציה

  5. 04:42

    משתנה לא קיים מחוץ לפונקציה

תמלול ההרצאה: טווח הכרה - Scope

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

  1. 00:02

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

  2. 00:18

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

  3. 00:34

    כשאני נכנס לפונקציה אני קורא לפונקציה נוספת שיצרתי שאני קראתי לה assign car name, לתת ערך לשם של הרכב, ואחר כך אני קורא לפונקציה נוספת שקראתי לה assign car color, לתת את הצבע של הרכב, אוקיי?

  4. 00:56

    עכשיו, מה זה אומר בעצם טווח הכרה שמשתנה, איפה מכירים אותו? אני רואה את המשתנים פה, אז אני בטוח מכיר אותם. אז בוא נראה רגע, אם אני עכשיו נמצא עכשיו בתוך הפונקציה הזאת, assign car color, ואני עכשיו עוצר פה איזה משתנה שנקרא לו, אני רוצה לתת פה ערך לצבע, צבע של הרכב.

  5. 01:19

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

  6. 01:50

    אז אני רוצה לתת ל-Color את הצבע של New Car Color. עכשיו, אם תשימו לב, כשאני עכשיו עשיתי את הדבר הבא, כשעשיתי New Car, New Car Color, אתם רואים שהמשתנה הזה הוא מוכר, אוקיי?

  7. 02:17

    שימו לב שרשום פה גם Local Variable, משתנה מקומי. המשתנה הזה, אנחנו רואים אותו. כשכתבתי New, הוא כבר היה לי פה השלמה אוטומטית New Car Color.

  8. 02:29

    זאת אומרת, הוא קיים, הוא מזוהה. רשום פה גם local variable באופן מקומי. מה זאת אומרת מקומי? אני עכשיו נמצא בין הסוגר הזה לבין הסוגר הזה, בין הסוגר הזה לבין הסוגר הזה.

  9. 02:46

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

  10. 02:55

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

  11. 03:08

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

  12. 03:42

    למה מקומי? כי אני עכשיו נמצא פה באופן מקומי, אני נמצא פה באזור הזה, בתוך הפונקציה. אז המשתנה הזה הוא משתנה מקומי.

  13. 03:51

    המשתנה הזה, המשתנה הזה, המשתנה הזה, המשתנים האלה זה לא משתנים מקומיים, אבל הם משתנים ששייכים לקלאס, למחלקה, אוקיי?

  14. 04:04

    אם אני עכשיו רושם, אני רוצה לרשום את המשתנה color, אני רואה שרשום לי פה car color, זאת אומרת המשתנה הזה הוא משתנה ששייך לקלאס, למחלקה car.

  15. 04:18

    וכשאני עושה את הדבר הבא, אז אני רואה שהמשתנה הזה new car color הוא קיים לי, new car color. עכשיו בוא נראה מה קורה, בוא ניתן לו את ה-new car color.

  16. 04:38

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

  17. 05:12

    הנקודה הזאתי בפונקציה לבין הנקודה הזאת בפונקציה, וכאשר יצאנו מפה גם המשתנה הזה נעלם כבר, הם לא קיימים יותר, אוקיי? וכשניסינו לקרוא למשתנה הזה, לעשות את אותו דבר פה, בוא נגיד שנעשה את אותו דבר פה, אני רואה שרשום לי פה, שימו לב, The name New Car Caller does not exist in the current context,

  18. 05:43

    או בעברית פשוטה, המשתנה הזה שנקרא New Car Caller הוא לא קיים בהקשר הזה.

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

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

ההרצאה הבאה: הרשאות גישה - Modifiers

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

  • שפת JavaScript - טווח הכרה - Scope
  • Variable Scope
  • GPO - Scope

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

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