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

תוכן שנמחק תוכן שנוסף
←‏מתודה: לא שיטה, מידע
Matanyabot (שיחה | תרומות)
מ בוט החלפות: שנייה\1, מסוי\1
שורה 28:
* מתודה לא-וירטואלית - מתודה שקריאה אליה מתפרשת על פי הטיפוס הסטטי של האובייקט.
* מתודה וירטואלית - מתודה שמוגדרת באובייקט אב כמתודה וירטואלית. אובייקטים שיירשו ממחלקת האב יוכלו "לדרוס" (Override) את המתודה ממחלקת האב באופן אחר, וכך מתאפשר [[פולימורפיזם (מדעי המחשב)|פולימורפיזם]] של זמן ריצה: התנהגות שונה של אובייקטים בעלי טיפוס סטטי זהה, על פי הטיפוס הדינמי שלהם.
* מתודה אבסטרקטית (או מתודה וירטואלית-טהורה) - מתודה שמוגרת במחלקת אב אבסטרקטית (שלא ניתן ליצור לה מופע), והמחלקות היורשות צריכות לממש אותה. להבדיל ממתודה וירטואלית, מתודה אבסטרקטית באובייקט האב איננה חייבת להכיל קוד, ובשפות מסויימותמסוימות אף איננה עשויה להכיל קוד.
* מתודה סטטית - מתודה הניתנת לגישה באופן סטטי, כלומר שאין צורך במופע של מחלקה על מנת לגשת אליה. מתודה סטטית היא למעשה פונקציה, הנמצאת במרחב השם של המחלקה, ובשפות מסויימותמסוימות היא בעלת הרשאות דומות להרשאות של מתודות שאינן סטטיות (מבחינת גישה למשתנים פרטיים וכדומה).
 
==העמסה==
העמסת פונקציות או מתודות - הגדרה של מספר פונקציות תחת אותו שם אבל עם חתימה שונה (מספר ו/או כמות שונה של פרמטרים). דוגמה להעמסת פונקציות היא הגדרה של שתי פונקציות בשם max: אחת שתגדיר מקסימום בין משתנים מטיפוס int, והשניהוהשנייה שתגדיר מקסימום בין משתנים מטיפוס double. העמסה היא מקרה פרטי של [[פולימורפיזם (מדעי המחשב)|פולימורפיזם]] מוגבל של זמן קומפילציה.
 
== טווח ותחום הגדרה של משתנים ==