רציתי לדעת..

Free14

New member
רציתי לדעת..

שלום, רציתי לדעת מה public private ו Protected עושים ומתי משתמשים בהם ומה עושים ואיך משתמשים ב: property Get ו Set תודה לעוזרים
 

TechMen

New member
אז ככה

מתודות (פונקציות) שהם public אפשר לקרוא להם מכל מקום בתוכנית שלנו . מתודות שהם private אפשר לקרוא להם רק מאותה מחלקה שהם כתובות שם מתודות שהם Protected אפשר לקרוא להם מיורשים (יורשי המחלקה) כדי לגשת ולעדכן איזה משתנה שנמצא במחלקה כלשהי צריך לעשות את זה דרך מאפיין גישה set ו get דהיינו עם יש לי משתנה שמחזיק לי מס זהות של הלקוחות שלי נניח בתוך מחלקת לקוחות אני ארשום דוגמה קטנה using System; namespace ConsoleApplication11 { class Class1 { private int id; public int i { get { return id; } set { id=value; } } private void print() { Console.WriteLine("Cust id is :" + id); } static void Main(string[] args) { Class1 c1 = new Class1(); c1.id=232; c1.print(); } } } אני מקווה שעזרתי במשהו ...
 

PixelStyle

New member
היה יותר נחמד אם היית משתמש ב-

קוד כדי ליישר את ההודעה לשמאל :p אגב אם אתה יכול להביא את הקוד ב-VB אני אודה לך :) כי גם Free14 משתמש ב-VB
 

TechMen

New member
אני ממש חלש ב VB אבל זה אותו דבר

אני הבנתי ש VB ו #C ממש דומות עכשיו אז תנסה לפרשן
 

PixelStyle

New member
אממ כנס רגע

תוכל להגיד פשוט למה הם משמשים? כי גם אני עדיין מתחיל ואני לא יודע :p ואם תוכל להגיד איך משתמשים בהם :) כאילו לא הקוד, אלה בהסבר :)
 

michallev

New member
אז ככה

יש לך datamember שנמצא ב private משיקולי הסתרה (לגוגמה, היום אתה רוצה להחזיק תאריך ב 3 מספרים, ומחר להחליף ב DatiTime ואתה רוצה שהמשתמשים בקוד שלך לא יצטרכו לשנות את הקוד שלהם בעקבות השינוי אצלך. אז אתה צריך לספק דרך (=מתודות) לקבלת הערכים והשמה שלהם (שינוי). חוץ מזה, אתה הרבה פעמים רוצה דרך לשלוט בשינוי במידע, כגון: לוודא שהתאריך שהמשתמש שם עונה על החוקים שלך (תאריך הגיוני, רק מהשנה האחרונה, רק תאריכים עתידיים וכו'). לשם כך אתה צריך לספק מתודה "get" - לקבלת הערכים, ומתודה "set" להשמת ערכים. .Net נותנת לך ממשק שנותן לך תחושה שאתה ניגש לdatamember עצמו, ע"י כך שהsyntax של השימוש הינו כמו בגישה לdatamember. בעצם, מלמטה, אלה מתודות רגילות לכל דבר ועניין! לדוגמה (VB): הגדרה:
Public Class Class1 Private mX As Integer Public Property X() As Integer Get Return mX End Get Set(ByVal Value As Integer) mX = Value End Set End Property End Class​
ושימוש:
Public Shared Sub Main() Dim cl As Class1 cl.X = 5 End Sub​
 

bafoboy

New member
סתם תהיה

מישהו אי פעם השתמש בWriteOnly Property? כאילו אם המשתמש יכול לקבוע נתון איזה סיבה בעלום צריכה ממנו למנוע את זה?
 
למעלה