שגרה (תכנות) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Delta739 (שיחה | תרומות)
Delta739 (שיחה | תרומות)
שורה 95:
 
==העמסה, משתנים גלובליים ומשתנים מקומיים==
 
משתנה גלובלי הוא משתנה שמוכר לכל המטודות באובייקט. לא ניתן להגדיר בתוך מטודה משתנה עם אותו שם כמו של המשתנה הגלובלי. משתנה מקומי הוא משתנה שמוגדר רק באזור העבודה של המטודה (בין הסוגריים המסולסלים בסי שארפ לדוגמה). לא ניתן לפנות למשתנה מקומי של מטודה אחת מתוך מטודה אחרת, עם סיום המטודה האובייקט המקומי מושמד (מנוקה על ידי מנגנון איסוף הזבל עבור קוד מנוהל).
בדוגמה הבאה המשתנה Global הוא משתנה גלובלי, כל מטודה יכולה לגשת ולשנות את המידע שלו. לעומת זאת, לכל מטודה יש משתנה בשם local שהוא מוכר רק בתוך כל מטודה. לא ניתן לפנות למשתנה הזאת ממקום אחר בתוכנית.
 
העמסה - קריאה למספר מטודות של אובייקט תחת אותו שם אבל עם חתימה שונה (מספר ו/או כמות שונה של פרמטרים). בדוגמה הבאה ישנם שלוש מטודות בשם OverLoad, הראשונה מקבלת רק מספר שלם, השנייה מקבלת מספר שלם ומספר עשרוני, והשלישית מקבלת אמת או שקר (משתנה בוליאני), מילה, ומספר שלם. המשתנה הראשון של המטודה השלישית מוגדר להיות כברירת מחדל אמת. כלומר, המשתמש יכול להחליט שהוא מפעיל מטודה זאת מבלי לציין אמת או שקר בקריאה למטודה. רק אם הוא רוצה שהמטודה תפעל עם משתנה ראשון עם ערך של שקר הוא צריך לשלוח שקר. לפי סוג הפרמטרים שנשלחים למטודה והכמות שלהם - התוכנית יודעת לאיזה מטודה לגשת ולפיכך איזה קטע קוד להפעיל.
 
==ראו גם==