PDA

View Full Version : سوال: توضیح در مورد get,set



nasime_shomal
شنبه 14 شهریور 1388, 00:59 صبح
سلام دوستان کسی میتونه به من در مورد خصوصیت و get,set توضیحی بده من هرچی این بخش رو میخونم متوجه نمیشم و اگر بگین چرا باید از get,set استفاده کنیم ممنون میشم

svahidm
شنبه 14 شهریور 1388, 08:40 صبح
سلام
Property یکی از امکانات C# هست که مهمترین کارش مدیریت متغیرهااست .برای اینکه بخواین property بنویسین در صورتی که هم خواندنی و هم نوشتنی باشد (یعنی مقدار آن پس از خواندن قابل ویرایش باشد) باید از 2 کلمه ی کلیدی get , set استفاده کنید .get در هر لحظه مقدار متغیری که می خواهید را بر میگرداند و با دستور set هر می توانید آنرا مقدار دهی کنید.بعد از تعریف Property از این به بعد هرجا نام property به متغیری نسبت داده شود قسمت get اجرا شده یا به عبارتی مقدار متغیر مشخص شده را بر میگرداند و اگر مقداری به آن نسبت دهید قسمت set ان اجرا ومتغیر مقدار دهی می شود

mahdi_7610
شنبه 14 شهریور 1388, 09:53 صبح
یکی از مزایای زبانهای برنامه نویسی شی گرا این هستش که به شما اجازه میده جزئیات داخلی یک کلاس را کپسوله کنید و c# به شما این اجازه را میده که برای فراهم کردن دسترسی کنترل شده به جزئیات داخلی یک کلاس برای اون خواصی را تعریف کنید.

یک خاصیت میتونه فقط خواندنی ، فقط نوشتنی یا خواندنی- نوشتنی باشه .
Get دسترسی خواندن را فراهم می کنه و Set دسترسی نوشتن را فراهم می کنه و شما میتونید به اونها کدهایی برای گرفتن مقدار و یا مقدار دهی خاصیت اضافه کنید

nasime_shomal
شنبه 14 شهریور 1388, 10:33 صبح
یکی از مزایای زبانهای برنامه نویسی شی گرا این هستش که به شما اجازه میده جزئیات داخلی یک کلاس را کپسوله کنید و C#‎ به شما این اجازه را میده که برای فراهم کردن دسترسی کنترل شده به جزئیات داخلی یک کلاس برای اون خواصی را تعریف کنید.

یک خاصیت میتونه فقط خواندنی ، فقط نوشتنی یا خواندنی- نوشتنی باشه .
Get دسترسی خواندن را فراهم می کنه و Set دسترسی نوشتن را فراهم می کنه و شما میتونید به اونها کدهایی برای گرفتن مقدار و یا مقدار دهی خاصیت اضافه کنید
یعنی ما اون خاصیت رو public تعریف میکنیم تا به وسیله set,get به متغیری که privat تعریف شده دسترسی پیدا کنیم؟ اگه بیشتر توضیح بدید ممنون میشم

mahdi_7610
شنبه 14 شهریور 1388, 12:03 عصر
property ها کاربردهای فراوانی توی شی گرایی دارند و یکی از کاربردهاش همونی که شما گفتید هستش . و معمولا به جای استفاده از متغیرهای public از متغیرهای private به همراه یک property از نوع public استفاده می شه .
مثلا فرض کنید یک کلاس داریم و قصد داریم خاصیتی به نام سن را تعریف کنیم
سن شخص نباید منفی و یا از 100 بزرگتر باشه. به خاطر همین من یک فیلد از نوع private تعریف میکنم که سطح دسترسیش در داخل خود کلاس هستش و یک پراپرتی از نوع public تعریف میکنم برای جهان خارج از کلاس



private int age;
public int Age
{
get
{
return age;
}
set
{
if (value >0 && (value<100))
{
age=value;
}