ايران ويج

نسخه‌ی کامل: چرا در ایجاد کلاس هم از فیلد هم از خاصیت ،با هم استفاده می کنند؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
میشه در مورد تفاوت فیلد و پراپرتی در ایجاد کلاس توضیح دهید؟
من فرقه این دو تا رو درست نمی دونم.توی خیلی از برنامه ها که از کلاس استفاده کردن،میبینم که داخل کلاس مثلا برای ذخیره ی سن شخص هم از فیلد استفاده کرده هم از پراپرتی.
چرا؟
و چرا هر دو با هم هستن؟نمیشد فقط پراپرتی باشه؟
مطلب خیلی ساده برات میگم .
در حقیقت property از 2 متد به نام های get,set تشکیل میشود . در برنامه نویسی oo هر object باید هویت مستقل داشته باشد یعنی اینکه تمام کارهای خودش را خودش انجام دهد . حال فرض کنیم class ی داریم بنام Student که در آن خاصیتی به نام age تعریف میشود . مشخص است که سن دانش آموز منفی نمتواند باشد و به فرض بیشتر از 150 نیز نمیتواند باشد .
برای این کار من فیلدی با modifier و انرا private تعریف میکنم و در داخل class خودم ازآن استفاده میکنم و props با modifier public تعرف میکنم برای جهان خارج .
متد get : مقدار باز گردانده شده را تعیین میکند
متد set : برای مقدار دهی به متغیرمان تعریف میشود

کد :
کد:
private int age;
public int Age
{
get
{
         return age;
}
set
{
if (value >0 && (value<150))
{
          age=value;
}
else
          throw new Exception("value out of range");
}
}



(۰۹-فروردین-۱۳۸۸, ۰۹:۴۱:۲۱)shamstabrizi نوشته است: [ -> ]سلام
میشه در مورد تفاوت فیلد و پراپرتی در ایجاد کلاس توضیح دهید؟
من فرقه این دو تا رو درست نمی دونم.توی خیلی از برنامه ها که از کلاس استفاده کردن،میبینم که داخل کلاس مثلا برای ذخیره ی سن شخص هم از فیلد استفاده کرده هم از پراپرتی.
چرا؟
و چرا هر دو با هم هستن؟نمیشد فقط پراپرتی باشه؟