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

نام تاپیک: ایجاد متد به صورت static یا instance؟

  1. #1

    ایجاد متد به صورت static یا instance؟

    سلام.
    می خواستم بدونم چه موقع باید یک متد رو در یک کلاس به صورت static تعریف کنیم و چه موقع به صورت instance؟

    ممنون.

  2. #2
    کاربر دائمی آواتار fa_te64
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مشهد-تهران
    پست
    153

    نقل قول: ایجاد متد به صورت static یا instance؟

    وقتي متد رو به صورتinstance تعريف ميكنيد يعني به ازاي هر نمونه اي از آن كلاس كه New ميكنيد يك نمونه از آن متد هم ساخته ميشود ولي وقتي به صورت static تعريف كنيد به ازاي نمونه هاي مختلف از ان كلاس فقط همان متد وجود دارد،بسته به كاربرد ميتوان static یا instance تعريف كرد.اگر به صورت static تعريف كنيد متغيرهاي متد بايد static باشند

  3. #3

    نقل قول: ایجاد متد به صورت static یا instance؟

    دوست عزیز. این مطالب رو بنده می دونستم. این "بسته به کاربرد" رو برای بنده تفسیر بفرمایید.

  4. #4

    نقل قول: ایجاد متد به صورت static یا instance؟

    نقل قول نوشته شده توسط shekoofeh مشاهده تاپیک
    سلام.
    می خواستم بدونم چه موقع باید یک متد رو در یک کلاس به صورت static تعریف کنیم و چه موقع به صورت instance؟

    ممنون.
    زمانی که میخواهید یک فیلد را بین چند شیء مختلف به اشتراک بگذارید ==> static
    زمانی که میخواهید یک فیلد برای هر شیء منحصر به فرد بوده و داده اختصاصی خودش را داشته باشد ==> instant

  5. #5

    نقل قول: ایجاد متد به صورت static یا instance؟

    فرض کنید کلاسی داریم با عنوان Customer. اگر من متدی با نام AddCustomer رو یا به صورت static و یا به صورت instance تعریف کنم کنم، در هر دو حالت چه فرقی میکنه؟ آیا تنها فرق اینه که در حالت static نیاز به new کردن از کلاس Customer نیست؟ فرق دیگه ای از هر لحاظ وجود نداره؟ اگر فرقی وجود نداره پس چه موقع یک متد باید static و چه موقع باید instance باشه؟

    ممنون.

  6. #6

  7. #7

    نقل قول: ایجاد متد به صورت static یا instance؟

    بله. در کلاس Customer هست.

  8. #8

    نقل قول: ایجاد متد به صورت static یا instance؟

    نقل قول نوشته شده توسط shekoofeh مشاهده تاپیک
    فرض کنید کلاسی داریم با عنوان Customer. اگر من متدی با نام AddCustomer رو یا به صورت static و یا به صورت instance تعریف کنم کنم، در هر دو حالت چه فرقی میکنه؟ آیا تنها فرق اینه که در حالت static نیاز به new کردن از کلاس Customer نیست؟ فرق دیگه ای از هر لحاظ وجود نداره؟ اگر فرقی وجود نداره پس چه موقع یک متد باید static و چه موقع باید instance باشه؟

    ممنون.
    درست یک پست قبل جواب سوالتان را داده ام:
    زمانی که میخواهید یک فیلد را بین چند شیء مختلف به اشتراک بگذارید ==> static
    زمانی که میخواهید یک فیلد برای هر شیء منحصر به فرد بوده و داده اختصاصی خودش را داشته باشد ==> instant
    اگر AddCustomer به صورت استاتیک باشد همه اشیاء میتوانند از آن استفاده کنند اما اگر instant باشد، هر شیء متد خودش را خواهد داشت و اشیاء دیگر به آن دسترسی نخواهند داشت

برچسب های این تاپیک

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

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