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

תוכן שנמחק תוכן שנוסף
צחי (שיחה | תרומות)
צחי (שיחה | תרומות)
שורה 35:
 
ניתן להגדיר רק אחד משני החלקים, ולהשמיט את השני. בצורה זו ניתן להגדיר מאפיין לקריאה בלבד (חלק get בלבד). ניתן גם להגדיר חלק set בלבד, אם כי הדבר פחות מקובל ופחות שימושי.
 
דוגמה:
{{NET/CodeBlock|cs=
{{NET/Code|private int|Keyword}} _distance = 5;<br>
{{NET/Code|public int|Keyword}} Distance {<br>
&nbsp;&nbsp;get {<br>
&nbsp;&nbsp;&nbsp;&nbsp;{{NET/Code|return|Keyword}} _distance;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;{{NET/Code|protected set|Keyword}} {<br>
&nbsp;&nbsp;&nbsp;&nbsp;_distance = {{NET/Code|value|Keyword}};<br>
&nbsp;&nbsp;}<br>
}
|vb=
{{NET/Code|Private|Keyword}} _distance {{NET/Code|As Integer|Keyword}} = 5<br>
{{NET/Code|Public Property|Keyword}} Distance() {{NET/Code|As Integer|Keyword}}<br>
&nbsp;&nbsp;{{NET/Code|Get<br>
&nbsp;&nbsp;&nbsp;&nbsp;Return|Keyword}} _distance<br>
&nbsp;&nbsp;{{NET/Code|End Get<br>
&nbsp;&nbsp;Protected Set|Keyword}}<br>
&nbsp;&nbsp;&nbsp;&nbsp;_distance = value<br>
&nbsp;&nbsp;{{NET/Code|End Set<br>
End Property|Keyword}}
}}
בדוגמה זו, ניתן לקרוא את ערך המאפיין <code>Distance</code> מכל מחלקה. המאפיין מחזיר את ערך המשתנה <code dir="ltr">_distance</code>, שרמת ההרשאה שלו היא private ולא ניתן לראות אותו ממחלקות אחרות. ניתן כמובן לבצע פעולות יותר מורכבות, כמו החזרת ערך שהוא תוצאת חישוב על מספר משתנים, או כל סדרת הוראות חוקית בשפה. אם כי נהוג להגביל את הלוגיקה המבוצעת במאפיינים לפעולות פשוטות של השגת מידע, ופעולות מורכבות יותר לבצע בשגרות.
 
השמה למאפיין, לעומת זאת, מוגבלת למחלקה הנוכחית ולמחלקות יורשות (עוד על ירושה בהמשך), בעזרת רמת ההרשאה protected של חלק ה-set. הערך מתקבל במשתנה value, ומושם למשתנה <code dir="ltr">_distance</code>.
 
== שגרות ==