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

نام تاپیک: استفاده از final

  1. #1
    کاربر تازه وارد آواتار Hossein8867
    تاریخ عضویت
    اردیبهشت 1394
    محل زندگی
    Tehran
    پست
    98

    Question استفاده از final

    سلام.چرا گاهی اوقات از final برای cast کردن استفاده می کنیم و چرا گاهی editor ها استفاده از final را اختیاری (دارای چند روش) و گاهی اجباری می دانند؟

  2. #2

    نقل قول: استفاده از final

    سؤالتون واضح نیست. نمونه کد بذارید.

  3. #3
    کاربر تازه وارد آواتار Hossein8867
    تاریخ عضویت
    اردیبهشت 1394
    محل زندگی
    Tehran
    پست
    98

    نقل قول: استفاده از final

    نقل قول نوشته شده توسط محمد فدوی مشاهده تاپیک
    سؤالتون واضح نیست. نمونه کد بذارید.
    مثلا در کدهای زیر چرا عبارات جلوی case ها باید final شده باشند و الا ایراد گرفته میشه؟

    package ahmadi.android.app01;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Toast;


    public class MyMenuItems2Activity extends Activity {

    private final int MENU_ADD = 1, MENU_SEND = 2, MENU_DEL = 3;
    private final int GROUP_DEFAULT = 0, GROUP_DEL = 1;
    private int counter = 0;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

    menu.add(GROUP_DEFAULT, MENU_ADD, 0, "ADD");
    menu.add(GROUP_DEFAULT, MENU_SEND, 0, "SHOW");
    menu.add(GROUP_DEL, MENU_DEL, 0, "DEL");

    return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {

    if(counter > 0) {
    menu.setGroupVisible(GROUP_DEL, true);
    }else {
    menu.setGroupVisible(GROUP_DEL, false);
    }

    return super.onPrepareOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

    switch(item.getItemId()) {
    case MENU_ADD:
    counter++;
    return true;
    case MENU_SEND:
    Toast.makeText(this, "Counter is now: " + counter, Toast.LENGTH_SHORT).show();
    return true;
    case MENU_DEL:
    counter--;
    }

    return super.onOptionsItemSelected(item);
    }
    }

  4. #4

    نقل قول: استفاده از final

    این بخاطر روش کار بلوک switch...case هست. عبارتی که جلوی case می‌نویسید همیشه باید یه مقدار ثابت باشه و نه متغیر. توی بخش case، شما می‌تونید از ثابت‌های عددی یا رشته‌ای و شمارنده‌ها (Enum) استفاده کنید.

    پ.ن: اگر ثوابتی که بالای کلاستون تعریف کردید همیشه و به ازای هر نمونه از کلاس ثابته، بهتره علاوه بر final کلمه‌ی کلیدی static رو هم بشون اضافه کنید:
    private static final int MENU_ADD = 1, MENU_SEND = 2, MENU_DEL = 3;

تاپیک های مشابه

  1. دلیل استفاده از final در این کد
    نوشته شده توسط passerby در بخش Android Studio
    پاسخ: 1
    آخرین پست: چهارشنبه 28 مرداد 1394, 03:54 صبح
  2. استفاده از SQLDATAREADER در TRY,CATCH,FINALLY.مشکل فوری
    نوشته شده توسط ramin_hashemi در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 04 مهر 1391, 19:18 عصر
  3. استفاده از BatchMove رو توضیح بدین لطفا
    نوشته شده توسط Gladiator در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: دوشنبه 15 آبان 1385, 20:53 عصر
  4. استفاده از متود Finalize و کنترل Garbage Collector
    نوشته شده توسط marandi در بخش VB.NET
    پاسخ: 0
    آخرین پست: یک شنبه 14 دی 1382, 03:00 صبح
  5. استفاده از nmsmtpبرای فرستادن email
    نوشته شده توسط sahar8010 در بخش توسعه نرم افزارهای تحت شبکه
    پاسخ: 4
    آخرین پست: شنبه 09 فروردین 1382, 01:01 صبح

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

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

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