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

نام تاپیک: تفاوت متدهای Static و متدهای غیر Static

  1. #1
    کاربر دائمی آواتار Jean Reno
    تاریخ عضویت
    مهر 1387
    محل زندگی
    یه گوشه کوچیک از این دنیای خاکی
    پست
    184

    Question تفاوت متدهای Static و متدهای غیر Static

    همان طور که می دانیم متغیرهای از نوع Static که در یک کلاس تعریف می شوند بین تمام شی هایی که از آن کلاس ایجاد میشوند به اشتراک گذاشته می شود که این امر منجر به این می شود که هر متغیر Static آخرین مقداری را که می گیرد حفظ کرده و برای اشیا دیگر نیز مورد استفاده قرار میدهد .

    private static string Str_FirstName;

    1. سوال این است که کاربرد متدها و توابع Static چیست ؟
    2. با توجه به این نکته که در متدهای Static تنها می توان از متغیرهای کلاس که از نوع Static هست استفاده کرد ، آیا تنها تفاوت متدهای Static و متدهای غیر Static تنها در همین موضوع است ؟

    public static void ListName( )
    {
    // Code
    }

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    پست
    848

    نقل قول: تفاوت متدهای Static و متدهای غیر Static

    استفاده در Extension Method و از این رهگذار استفاده زیاد در LINQ
    در صورتی که بخواهیم از یک کلاس فقط و فقط یک آبجکت ساخته شود.
    این حالت در برنامه های Multi Thread نیاز به توجه دارد.
    کلاس Static ؛ Constructor غیر پیش فرض ندارد.
    ---
    اگه کلاسی متدی داشت؛ که به خود اون کلاس مراجعه نمیکرد؛ کاندید static شدنه.
    مراجعه کردن یعنی این که مثلا به پراپرتیهای آبجکتهای ساخته شده از اون کلاس احتیاج نداشته باشه؛
    نه این که بیایم اون فیلد و پراپرتی رو هم static کنیم !
    ---
    کلاس System.Math مثال خوبیه.
    چون متدهای Static اش به خود اون کلاس کاری ندارند.
    البته این کلاس در کل فیلد نداره؛ ولی حرف من کلیه.
    و اگه فیلدی هم داره در اصل CONST هستش و دقیقا معادل خود Static Member عمل میکنه.
    به نظر من فیلدی که تغییر پذیره؛ حق Static شدن رو نداره.

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

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