سلام دوستان کسی میتونه به من در مورد خصوصیت و get,set توضیحی بده من هرچی این بخش رو میخونم متوجه نمیشم و اگر بگین چرا باید از get,set استفاده کنیم ممنون میشم
سلام دوستان کسی میتونه به من در مورد خصوصیت و get,set توضیحی بده من هرچی این بخش رو میخونم متوجه نمیشم و اگر بگین چرا باید از get,set استفاده کنیم ممنون میشم
سلام
Property یکی از امکانات C# هست که مهمترین کارش مدیریت متغیرهااست .برای اینکه بخواین property بنویسین در صورتی که هم خواندنی و هم نوشتنی باشد (یعنی مقدار آن پس از خواندن قابل ویرایش باشد) باید از 2 کلمه ی کلیدی get , set استفاده کنید .get در هر لحظه مقدار متغیری که می خواهید را بر میگرداند و با دستور set هر می توانید آنرا مقدار دهی کنید.بعد از تعریف Property از این به بعد هرجا نام property به متغیری نسبت داده شود قسمت get اجرا شده یا به عبارتی مقدار متغیر مشخص شده را بر میگرداند و اگر مقداری به آن نسبت دهید قسمت set ان اجرا ومتغیر مقدار دهی می شود
یکی از مزایای زبانهای برنامه نویسی شی گرا این هستش که به شما اجازه میده جزئیات داخلی یک کلاس را کپسوله کنید و C# به شما این اجازه را میده که برای فراهم کردن دسترسی کنترل شده به جزئیات داخلی یک کلاس برای اون خواصی را تعریف کنید.
یک خاصیت میتونه فقط خواندنی ، فقط نوشتنی یا خواندنی- نوشتنی باشه .
Get دسترسی خواندن را فراهم می کنه و Set دسترسی نوشتن را فراهم می کنه و شما میتونید به اونها کدهایی برای گرفتن مقدار و یا مقدار دهی خاصیت اضافه کنید
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;
}