امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
چرا در ایجاد کلاس هم از فیلد هم از خاصیت ،با هم استفاده می کنند؟
نویسنده پیام
shamstabrizi آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 8
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 4
( 1 تشکر در 1 ارسال )
ارسال: #1
چرا در ایجاد کلاس هم از فیلد هم از خاصیت ،با هم استفاده می کنند؟
سلام
میشه در مورد تفاوت فیلد و پراپرتی در ایجاد کلاس توضیح دهید؟
من فرقه این دو تا رو درست نمی دونم.توی خیلی از برنامه ها که از کلاس استفاده کردن،میبینم که داخل کلاس مثلا برای ذخیره ی سن شخص هم از فیلد استفاده کرده هم از پراپرتی.
چرا؟
و چرا هر دو با هم هستن؟نمیشد فقط پراپرتی باشه؟
۰۹-فروردین-۱۳۸۸, ۰۹:۴۱:۲۱
ارسال‌ها
پاسخ
esmaeily-hosein آفلاین
كاربر دو ستاره
**

ارسال‌ها: 232
موضوع‌ها: 12
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 91 تشکر در 46 ارسال )
ارسال: #2
RE: چرا در ایجاد کلاس هم از فیلد هم از خاصیت ،با هم استفاده می کنند؟
مطلب خیلی ساده برات میگم .
در حقیقت 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 نوشته است: سلام
میشه در مورد تفاوت فیلد و پراپرتی در ایجاد کلاس توضیح دهید؟
من فرقه این دو تا رو درست نمی دونم.توی خیلی از برنامه ها که از کلاس استفاده کردن،میبینم که داخل کلاس مثلا برای ذخیره ی سن شخص هم از فیلد استفاده کرده هم از پراپرتی.
چرا؟
و چرا هر دو با هم هستن؟نمیشد فقط پراپرتی باشه؟

هر چی روش خوبه توش خوب نیست!
۱۰-فروردین-۱۳۸۸, ۰۰:۱۳:۲۲
ارسال‌ها
پاسخ
تشکر شده توسط : amirjan


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  کلاس تقویم فارسی بدون کلاس پرشین کلندر esafb52 2 3,200 ۰۲-دى-۱۳۹۳, ۰۰:۳۴:۰۲
آخرین ارسال: esafb52
  ایجاد وقفه چند ثانیه ای در اجرای برنامه Ghoghnus 0 2,427 ۲۸-فروردین-۱۳۹۳, ۰۱:۰۵:۴۶
آخرین ارسال: Ghoghnus
  ایجاد تغییر در ساختار پایگاه داه نصب شده رو سیستم کاربر taksa2012 1 2,993 ۳۰-آذر-۱۳۹۲, ۱۸:۲۷:۰۰
آخرین ارسال: Ghoghnus
Sad [سوال] خطای جستجوی فیلد اتونامبر Mohsen karevani 0 1,474 ۲۸-مرداد-۱۳۹۲, ۰۱:۲۴:۱۳
آخرین ارسال: Mohsen karevani
  [سوال] راهنمایی کنید : کار با متد در کلاس vierso 0 2,173 ۰۸-فروردین-۱۳۹۲, ۱۴:۲۱:۲۳
آخرین ارسال: vierso
Question [سوال] برابر کردن جدول با فیلد دستی در گرید؟ samadblaj 1 2,970 ۱۵-آبان-۱۳۹۱, ۲۱:۰۰:۵۶
آخرین ارسال: Ghoghnus
  ارتباط یک کلاس با کامپوننت در فرم ghsoftco 8 6,371 ۲۶-آبان-۱۳۹۰, ۱۳:۴۰:۳۰
آخرین ارسال: Payman62
  [سوال] ایجاد سریال برنامه توسط سریال های سخت افزاری Payman62 22 21,742 ۲۱-شهریور-۱۳۹۰, ۰۹:۳۰:۲۳
آخرین ارسال: Di Di
  آموزش ایجاد DLL در C++ و استفاده از آن در C# salehjg 2 8,212 ۲۳-آذر-۱۳۸۹, ۱۶:۰۶:۰۵
آخرین ارسال: salehjg
  یک کلاس معتبر برای c# nasim63 4 4,603 ۲۰-آبان-۱۳۸۸, ۱۱:۳۶:۱۹
آخرین ارسال: HoseinVig

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS