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

نام تاپیک: استفاده کلید واژه this هنگام ایجاد اینتنت برای چیه؟

  1. #1

    استفاده کلید واژه this هنگام ایجاد اینتنت برای چیه؟

    سلام کد زیر رو در نظر بگیرید:

    ;(Intent i = new Intent(FirstActivity.this,SecondActivity.class

    اومدن واژه this به دنبال FirstActivity برا چیه و چه منظوری داره؟ اگه یه جواب خوب بهم بدین ممنون میشم

  2. #2
    کاربر دائمی آواتار Nevercom
    تاریخ عضویت
    دی 1387
    محل زندگی
    بستک
    سن
    35
    پست
    1,118

    نقل قول: استفاده کلید واژه this هنگام ایجاد اینتنت برای چیه؟

    کلمه کلیدی this به Instance (عبارت Instance رو دسترسی ترجمه می کنن، و معنیش این هست که شئ‌ی که از کلاس ساخته میشه، یک نمونه از کلاس هست) کلاس اشاره می کنه
    این سینتکس وقتی کاربرد داره که شما در کلاس داخلی بخواید به Instance کلاس خارجی دسترسی پیدا کنید.

    این کد رو در نظر بگیرید:

    public class OuterClass extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    startActivity(new Intent(OuterClass.this, TargetClass.class));
    }
    });

    }
    }


    در متد onClick کلمه‌ی کلیدی this به درونی ترین کلاس اشاره می کنه که View.OnClickListener هست و بهش Anonymous Inner Class میگن، کلاس Intent در این Constructorش نیاز داره که پارامتر اول یک Instance از کلاسی براش ارسال بشه که نهایتاً از Context ارث بری کرده باشه (کلاس Activity در سلسله مراتب وراثتش از Context ارث بری می کنه). در این مثال کلاس OuterClass این خصوصیت رو داره و سینتکس جاوا برای اشاره به Instance کلاس بیرونی به این شکل هست: OuterClass.this اما کلاس OnClickListener این خصوصیت رو نداره و به همین دلیل نمیشه تنها از this استفاده کرد.

    اگر همون کدی که نوشتید رو در هریک از متدهای کلاس OuerClass (یا در مثال شما FirstActivity) بنویسید، تنها کلمه‌ی کلیدی this کفایت می کنه، اما اگر در کلاس درونی بخواید این کد رو اجرا کنید (مثل مثالی که من نوشتم)، باید از این سینتکس تبعیت کنید

  3. #3

    نقل قول: استفاده کلید واژه this هنگام ایجاد اینتنت برای چیه؟

    خیلی ممنون

  4. #4

    نقل قول: استفاده کلید واژه this هنگام ایجاد اینتنت برای چیه؟

    سلام دوستان لطفا اگه کسی میدونه چجوری این مشگل برطرف میشه کمک کنه

    public class Subclass extends Superclass
    چرا تو محیط اکلیپس subclass همش علامت خطا داره؟؟؟؟؟؟

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

  1. پاسخ: 1
    آخرین پست: چهارشنبه 03 خرداد 1396, 18:28 عصر
  2. مشکل : استفاده از report builder و ایجاد گزارشات برای هر کاربر خاص
    نوشته شده توسط saraparvaneh در بخش خدمات شیرپوینت برای برنامه های آفیس (MOSS)
    پاسخ: 0
    آخرین پست: سه شنبه 18 فروردین 1394, 12:48 عصر
  3. مبتدی: استفاده از واژه this در متد
    نوشته شده توسط mehrdad85 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: چهارشنبه 15 شهریور 1391, 22:49 عصر
  4. استفاده از کلید واژه ها برای نتایج بهتر در جستجو
    نوشته شده توسط tabib_m در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 2
    آخرین پست: سه شنبه 24 مرداد 1385, 17:42 عصر
  5. ایجاد شرتکات برای کلید
    نوشته شده توسط taherbaghal در بخش VB.NET
    پاسخ: 6
    آخرین پست: جمعه 19 اسفند 1384, 18:51 عصر

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

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