طریقه ارجاع به اشیا در جاوا

+1
+39
1394/01/26 0 216 م.مطلبی

در این آموزش شما با یک تمرین عملی ، نحوه ارجاع به اشیا در جاوا  را فرا خواهید گرفت .

با ساب سان همراه باشید با آموزشی دیگر از جاوا.

طریقه ارجاع به اشیا در جاوا

باید متذکر شویم که ارجاع به اشیا بسیار حائز اهمیت است. توصیه می کنیم که به مطالبی که در این بخش عنوان می شود به خوبی دقت نمایید. منظور از ارجاع آدرسی است که تعیین می نماید متغیر ها و متد های یک شی در کجا ذخیره شوند؟  زمانی که یک متغییر را به شی اختصاص می دهیم و یا اینکه شیئی را به عنوان آرگمان به متدی ارسال می کنیم واقعا در حال استفاده ار اشیا نیستیم. حتی می توان گفت در این حالت مشغول کار با کپی اشیا نیز نمی باشیم . در این حالت تنها مشغول استفاده از ارجاعاتیبه این اشیا هستیم. در ادامه کار می خواهیم با استفاده از یک تمرین عملی چگونگی کار با ارجاعت را به شما دوستان نشان دهیم.به همین منظور پروژه ایجاد شده در درس قبل را باز کنید و کلاس جدیدی با نام subsun_class_8 به پکیج subsun_package اضافه کنید .و درون متد main را بصورت زیر پر کنید و آن را توسط ترکیب کلید های ctrl+s ذخیره کنید.


package subsun_package;
import java.awt.Point;

public class subsun_class_8 {
      public static void main(String[] args) {
            Point pt1, pt2;//     
            pt1 = new Point(100, 100);
            pt2=pt1;
            pt1.x = 123;
            pt1.y = 321;
            System.out.println("Point1: " + pt1.x + ", " + pt1.y);
            System.out.println("Point2: " + pt2.x + ", " + pt2.y);
      }
}

در این دستورات ابتدا کلاس point را از بسته java.awt  به برنامه اضافه کرده ایم .همان طور که مشاهده می شود دو شی pt2 , pt1 از کلاس Point تعریف شده است . سپس یک شی جدید Point به متغیر pt1 تخصیص داده شده است. حال مقدار شی pt1 را به شی pt2 تخصیص داده شده است. در واقع در این حالت هر تغییری که بر روی شی pt1 انجام شود بر روی شی pt2 نیز قابل مشاهده است. حال زمان تست عملکرد برنامه می رسد .فایل subsun_class_8 را در Package Explorer ایکلیپس انتخاب کنید و آن را اجرا کنید.

نتیجه اجرای برنامه را در زیر می توانید مشاهده کنید.

Point1: 123, 321
Point2: 123, 321

مشاهد می  شود پس از اجرای برنامه خروجی اشیا مربوط به pt1 و pt2  یکسان می باشد . دلیل این موضوع بخاطر سطری است که شی pt1 را شی pt1 انتساب داد .به همین دلیل هر دو شی به یک مکان از حافظه اشاره دارند و هر تغییری که بر روی این خانه از حافظه اعمال شود بر روی هر دو متغییر مشاهد می شود. در انتها این بخش باید متذکر شویم که در جاوا بر خلاف زبان های  C یا ++C  اشاره گر وجود ندارد و این موضوع یکی از وجه تمایز های جاوا با این دو زبان می باشد.

دیدگاه ها (0)

ارسال دیدگاه ها

Image CAPTCHA
حروف نمایش داده شده در تصویر را وارد کنید.