نمایش نتایج 1 تا 5 از 5

نام تاپیک: چرا برای یک فیلد پروپرتی تعریف میکنیم؟

  1. #1

    Question چرا برای یک فیلد پروپرتی تعریف میکنیم؟

    چرا برای یک فیلد پروپرتی تعریف میکنیم؟
    مثال:
    praivet string _fullname
    public string fullname
    get{}
    set{}
    چرا?

  2. #2
    کاربر دائمی آواتار Hajivandian
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    تهران
    سن
    35
    پست
    368

    نقل قول: چرا برای یک فیلد پروپرتی تعریف میکنیم؟

    سلام، یکی از دلایلش می تونه این باشه که ما بخوایم یک سری عملیات رو قبل از انتصاب روی داده دریافتی اعمال کنیم.
    مثال زیر رو در نظر بگیرید

    int seconds;

    public int minutes
    {
    get
    {
    return seconds/60;
    }

    set
    {
    seconds=value*60;
    }
    }


    تو مثال بالا ما یه فیلد داریم که توش یه مقدار با عنوان ثانیه رو نگه می داریم
    ولی هنگام دریافت مقدار از کاربر، یک مقدار با عنوان دقیقه از اون می گیریم
    با متدهای get و set می تونیم روی داده خود کنترل داشته باشیم
    البته این یه مثال بود ، نمیدونم متوجه شدی یا نه ولی چیز بهتری به ذهنم نرسید!

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    397

    نقل قول: چرا برای یک فیلد پروپرتی تعریف میکنیم؟

    خب این که شما فرمودین میشه با نوشتن یک تابع اینکار رو انجام داد .میشه بیشتر در این مورد توضیح بدین.

  4. #4
    کاربر دائمی آواتار Hajivandian
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    تهران
    سن
    35
    پست
    368

    نقل قول: چرا برای یک فیلد پروپرتی تعریف میکنیم؟

    سلام، با تابع هم میشه این کار رو کرد ولی پروپرتی ها برای خوانایی بیشتر و راحتی کار ساخته شدن.
    توی مثال قبل موقعی که یه مقدار رو به پروپرتی تخصیص می دیم، عملیات درج شده توی متد set اتفاق می افته:
    minutes=10;

    ولی اگر قرار بود با تابع بنویسیم، با فرض تعریف تابع GetSecond، هر بار باید کدی شبیه کد زیر رو استفاده می کردیم
    seconds=GetSeconds(10);

    مسلما کد اول راحت تر و خواناتره

  5. #5
    کاربر تازه وارد آواتار MasoudAliAkbari
    تاریخ عضویت
    آبان 1389
    محل زندگی
    اصفهان
    سن
    34
    پست
    35

    نقل قول: چرا برای یک فیلد پروپرتی تعریف میکنیم؟

    دقیقا همونطوری که دوستمان فرمودند کار کردن با پروپرتی راحتتره
    ولب توجه داشته باشید که کامپایلر نهایتا قسمت set را در پروپرتی به همان تابع تبدیل می کند ولی این از دید ما مخفی است چون قراره کار ما راحتتر بشه.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •