در این جلسه تیم کدگیت را با آموزش this در جاوا همراهی کنید. این آموزش ادامه آموزش شی گرایی در جاوا است. پیش نیاز این آموزش شامل موارد زیر است:
همه چیز در مورد اشیا است. هماطور که اشیا در دنیای واقعی رفتار میکنند، در دنیای نرم افزار نیز همانگونه اند. اشیا در یک برنامه تقریبا همه کار را انجام میدهند. به عنوان مثال ماشین ها شتاب میگیرند یا انسان ها راه میروند(انسان نیز یک شی است) یا هواپیماها پرواز میکنند و ماهی ها شنا میکنند. به طور مشابه ما در نرم افزار نیز ما اشیایی میسازیم که رفتاری خاص را انجام میدهند. و ما از آن برنامه انتظار داریم که رفتارهای اشیا را انجام دهند(راه رفتن، پرواز کردن …). پس موقعی که نرم افزار ما اجرا میشود اشیا ما به وجود می آیند.
Constructor در جاوا بدین صورت عمل میکند که به ما اجازه ساخت یک شی را میدهد. وقتی ما یک کلاس را new میکنیم متد constructor آن صدا زده میشود و شی مورد نظر را میسازد. پس constructor متدی است است که شی را میسازد.متد constructor ویژگی های زیر را دارد:
در آموزش قبل یک کلاس به نام Human ساختیم و برای آن constructor نیز نوشتیم. حال میخواهیم کد جلسه قبل به شکل زیر بود:
در کد بالا در constructor ما از متغییرهای دستی استفاده کردیم یعنی مثلا age را برای همه 22 قرار دادیم و هر موقع بخواهیم آن را تغییر دهیم باید یک خط کد بزنیم برای هر شی به صورت جداگانه سن جدایی معرفی کنیم!!!! حالا میخواهیم کمی برنامه خود را پویاتر(dynamic) کنیم. یعنی هنگام new کردن یک شی تمام ویژگیهای شی را وارد کنیم.به کد زیر دقت کنید:
در کد بالا ما یک constructor با ورودی نوشتیم. و ورودیهای متد ما همنام ویژگیهای(فیلد های کلاس) ما هستند.حال به واژه this میرسیم.کلمه this در جاوا به شی که در آن هستیم اشاره دارد. و متغییر آن را در نظر میگیرد. به طور کلی کلمه this در جاوا یک اشاره گر به شی است. وقتی ما this.name را صدا میزنیم وارد شی ما میشود و ویژگی name آن را به ما میدهد.
توضیحات بالا شاید کمی شما را سردرگم کرده باشد برای همین یک قسمت جداگانه برای توضیح بیشتر this در جاوا در نظر گرفتیم. در آموزش قبل گفتیم که وقتی constructor مینویسیم هنگام new کردن جاوا آن را صدا میزند. حال ما یک شی از human میسازیم:
Human tom = new Human(“tom”);
اتفاقی که در حافظه میفتد این است که یک اشاره گر به نام tom ساخته میشود که به آدرس شی ساخته شده human اشاره دارد. پس وقتی ما یک شی را میسازیم یا یک کلاس را new میکنیم در حافظه آن ایجاد میشود و اشاره گری به آن اشاره میکند.
حال اگر ما یک شی دیگر با نام دیگری بسازیم:
Human jack = new Human();
در حافظه یک شی دیگر ساخته شده که با tom فرق دارد و حتی آدرس آن نیز متفاوت است. این مفهوم کلی new کردن در جاوا بود. وقتی ما کلمه this در جاوا را استفاده میکنیم به آدرس حافظه آن شی میرود و متغییرهای درونی آن را میبیند.
برای تست کد های بالا، کد main زیر را بزنید:
در کد بالا از constructor جدید که کلمه this در آن به کار بردیم استفاده کردیم. کد بالا پویاتر و ساده تر از قبل است. خروجی کد this در جاوا به صورت زیر است:
my Name is jack
i am 12 year old
my height is 1.3meter
———–
my Name is tom
i am 42 year old
my height is 1.7meter
با وارد کردن ایمیل، لینک دانلود فایل به ایمیل شما ارسال خواهد شد(در صورت ارسال ایمیل به spam، آن را از Spam خارج کرده تا لینک فعال گردد)
ایمیل شما (الزامی)
پسورد: www.codegate.ir
دسته : java, آموزش قدم به قدم جاوا, جاوا, شی گرایی در جاوا
۱۵۶۹ بازدید
۱۵۵۵ بازدید
۱۳۷۸ بازدید
۱۱۸۵ بازدید
۱۱۳۶ بازدید
۱۰۹۳ بازدید
۱۰۸۴ بازدید
۱۰۸۱ بازدید
Tags: object oriented, this, this در جاوا, شی گرایی
نظر شما چیست؟