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

نام تاپیک: pass by value یا pass by reference

  1. #1

    pass by value یا pass by reference

    سلام
    تا اونجا که من متوجه شدم جاوا به برنامه نویس اجازه نمی ده که خودش انتخاب کنه که یه متغیر به صورت pass by reference به یه متدی ارسال شه یا به صورت pass by value مثلا بر خلاف C++‎ که توی اون مفهومی به نام اشاره گر وجود داره.
    با این وجود وقتی که متغیری که از نوی اولیه هست به یه متد ارسال می شه در واقع داره کپی مقدارش ارسال میشه یه جورایی همون pass by value و وقتی یه متغیری که از نوع آبجکت و یا آرایه به متد ارسال میشه یه کپی از رفرنسش ارسال میشه و خود آبجکت نمی تونه به متد ارسال شه.
    توی نوع اول اگه مقدار متغیر درون متد تغیر کنه هیچ تاثیری توی مقدار اصلیش که قبل ار فراخوانی متد بوده نداره که میشه گفت همون pass by value. ولی توی نوع دوم با وجود اینکه خود آرایه با آبجکت به متد ارسال نمیشه و اون چی که به متد فرستاده میشه یه کپی ار رفرنس به آرایه یا آبجکته اگه تغیری توی مقدار یکی از المنت های آرایه ایجاد شه این تغیر روی مقدار اصلی اون المنت قبل از فراخوانی متد به وجود میاد که در واقع یه نوع pass by reference میشه.
    حالا اگه چیزایی که من تا اینجا متوجه شدم درست باشه چه طوری میشه پارامتر یه متد از نوع مثلا int باشه و وقتی می خوام اون متد رو فراخوانی کنم آرگومان مورد نظرم رو به صورت pass by reference بفرستم؟
    با تشکر

  2. #2
    کاربر دائمی آواتار pooyanm
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    Esfahan - Iran
    پست
    567
    چه طوری میشه پارامتر یه متد از نوع مثلا int باشه و وقتی می خوام اون متد رو فراخوانی کنم آرگومان مورد نظرم رو به صورت pass by reference بفرستم؟
    سلام
    برای انواع اولیه راهی نیست تنها راه همون آبجکتها هستند

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

  1. باز شدن کادر user-pass در حین اتصال به یک کامپیوتر د
    نوشته شده توسط saam_sum در بخش شبکه و Networking‌
    پاسخ: 8
    آخرین پست: یک شنبه 19 شهریور 1385, 06:44 صبح
  2. pass recovery
    نوشته شده توسط lord_viper در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: سه شنبه 17 خرداد 1384, 01:43 صبح

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

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