NET/מחלקות - היכרות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
צחי (שיחה | תרומות)
צחי (שיחה | תרומות)
←‏שגרות: , הרחבה
שורה 95:
 
== שגרות ==
שגרה (method) היא מבנה לוגי המבצע פעולה על המחלקה. פעולה זו יכולה להיות השגת מידע שיצירתו דורשת פעולה מורכבת (למשל, קריאה ממקור מידע חיצוני או חישוב מורכב במיוחד), יצירת עצמים, פעולות על המידע שבתוך המחלקה, או כל פעולה אחרת על המחלקה.
 
יש שגרות שרמת ההרשאה שלהן היא private, ואז הן נגישות רק מתוך שגרות אחרות באותה מחלקה. שגרות כאלה מיועדות לפרק פעולות מורכבות לפעולות פשוטות יותר. דבר זה שימושי כאשר יש פעולה שיש צורך לבצעה בכמה מקומות שונים, ואז אפשר לשים אותה בשגרה נפרדת ולקרוא לה מכל מקום, במקום לשכפל את הקוד.
 
בניגוד לשפת [[C++|++C]], ובדומה לשפת [[Java]], כל השגרות בשפת #C חייבות להיות בתוך מחלקות. גם כאשר שגרה לא חייבת מבחינה לוגית להיות קשורה לעצם מסויים, היא עדיין צריכה להיות בתוך מחלקה, אפילו בתור שגרה סטטית.
 
המבנה של שגרה הוא כדלהלן:
{{NET/CodeBlock|cs=
[ [''modifier''] ...] ''return_type'' MethodName([''parameters'']) {<br>
&nbsp;&nbsp;{{NET/Code|method logic|C#Comment}}<br>
}
}}
 
''modifier'' - יכול להיות אחת מרמות ההרשאות private, protected, protected internal, internal, public. בנוסף, אפשר להוסיף את המילה השמורה static, שמשמעותה שאין צורך בעצם של המחלקה כדי לגשת אל השגרה, ויש לגשת אליה באמצעות שם המחלקה בלבד.
 
''return_type'' - שם המחלקה של ערך ההחזרה, במידה והשגרה מחזירה ערך. אם השגרה אינה מחזירה ערך, נציין ערך החזרה void (שהוא למעשה כינוי למבנה System.Void), המציין שהשגרה אינה מחזירה ערך.
 
''parameters'' - רשימה של משתנים עם שמות המחלקות שלהם, שהשגרה צריכה לקבל. במידה שהשגרה לא דורשת משתני קלט, נשאיר רשימה זו ריקה (אך נקפיד לציין את הסוגריים העגולות).
 
== אירועים ==