خصوصيات در سي شارپ - Properties in CSharp

پنجشنبه 26 اردیبهشت 1392

خصوصيات در سي شارپ - Properties in CSharp <br/> در تعريف Properties مي توان گفت كه Properties يك يا دو متد است كه با يك field private كار مي كند.

در تعريف Properties مي توان گفت كه Properties يك يا دو متد است كه با يك field private كار مي كند. 


براي تعريف Properties ها از Synatx زير استفاده مي كنيم:

همانطور كه در مثال بالا مشاهده مي كنين. ما يك فيلد private به نام Name_ تعريف كرديم كه در Property اي به نام Name مورد استفاده قرار گرفته است. در حقيقت Property Name از Name_ براي ذخيره مقدار و بازيابي آن استفاده مي كنند.

اما اگر Property ها از فيلد ها براي نگهداري و بازيابي اطلاعاتشان استفاده مي كنند چه دليلي دارد كه ما از property ها استفاده كنيم؟
در پاسخ به اين سوال بايد گفت كه به دو دليل از Property ها استفاده مي شود:

1. كنترل و مديريت اطلاعات در حين مقدار دهي و خواندن مقادير
در توضيح اين مورد بايد بگم كه اگر شما يك فيلد براي سن در نظر بگيريد و به جنس آن را از نوع عددي مثلا intتعيين كنين برنامه نويساني كه از كلاس شما استفاده مي كنند (Class Programmer ها) مي توانند مقاديري بين دو عدد و براي سن مشخص كنند. اما در واقعيت اين اعداد براي سن كاملا غير معتبر مي باشد. پس با اعمال كنترل هاي لازم در قسمت set براي Property مي توان بازه اي كه براي اعداد مشخص شده است را تعيين كرد.

در اين مثال در صورتيكه سن بين 0 تا 100 نباشد 10 در نظر گرفته مي شود.

2. امكان تعيين سطح دسترسي براي فيلد ها
نكته بعدي ايجاد Property هاي است كه فقط خواندني يا فقط نوشتني هستند. با استفاده از اين روش مي توانين اطلاعات را محدود به خواندن يا نوشتن نمائيد تا برنامه نويسان بر اساس نيازشان فقط اطلاعات را بخوانند يا بنويسند. البته شما مي توانين Property هايي كه هم خواندني و هم نوشتني هستند داشته باشين.

در اين مثال تعداد يك Property فقط خواندني مي باشد.

همانطور كه مي بينين Property Name به صورت public تعريف شده و در نتيجه همه مي توانند از آن اطلاعات بخوانند ولي براي مقدار دهي آن با توجه به protected بودن آن فقط افرادي اين امكان را دارند كه از اين كلاس به ارث رفته باشند. دقت كنين كه شما اجازه دارين دسترسي ها بر روي متد هاي get و set كمتر نمائيد و حق بيشتر كردن دسترسي را نداريد.

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 1 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید