NET/שגרות - היכרות

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
< NET
תכנות בסביבת NET








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

בשפת #C ו-VB.NET, כל שגרה חייבת להיות בתוך מחלקה כלשהי. התחביר הכללי לשגרה הוא כדלהלן:

C#:

[ [modifier] ...] return_type MethodName([parameters]) {

  // method logic

}

VB.NET:

[ [modifier] ...] Function FunctionName([parameters]) As return_type

  ' function logic

End Function

modifier - יכול להיות אחת מרמות הגישה private,‏ protected,‏ protected internal,‏ internal,‏ public. בנוסף, אפשר להוסיף את אחת המילים השמורות static,‏ abstract,‏ virtual או override, שאת משמעויותיהן נראה בהמשך.

return_type - שם המחלקה של ערך ההחזרה, במידה והשגרה מחזירה ערך. בשפת C#‎, אם השגרה אינה מחזירה ערך, נציין ערך החזרה void (שהוא למעשה כינוי למבנה System.Void), המציין שהשגרה אינה מחזירה ערך. בשפת VB.NET, אם השגרה אינה מחזירה ערך נשתמש במילת המפתח Sub במקום Function:

VB.NET:

[ [modifier] ...] Sub SubName([parameters])

  ' subroutine logic

End Sub

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

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

C#:

public int Add(int a, int b) {

  return a + b;

}

VB.NET:

Public Function Add(a As Integer, b As Integer) As Integer

    Return a + b

End Function

רמות הרשאה[עריכה]

לכל מזהה במחלקה - משתנה, שגרה, או תכונה, יש רמת גישה, המציינת לאיזה חלקים אחרים בתוכנה מותר לגשת אליו. .NET תומך ברמות הגישה הבאות:

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

שגרות מופע[עריכה]

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

שגרות סטאטיות[עריכה]

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