کلاس خصوصی برنامه نویسی جاوا(اینجا کلیک کن)
انجام پروژه برنامه نویسی جاوا(اینجا کلیک کن)
جلسه نهم - اشیا و کلاس ها
جاوایک زبان برنامه نویسی شی گرا (Object-Oriented) است.
ویژگی که زبان جاوا را قدرتمند و متمایز میکند همین ویژگی شی گرایی آن است.
زبان شی گرایی جاوا مفاهیم زیر را دنبال میکند:
در این فصل نگاهی به مفاهیم کلاس ها و شی ها میاندازیم.
شی (object)
اشیا مثل شی های دنیای واقعی ما حالت ها و رفتار هایی دارند!!!!
منظور از حالت ها و رفتار ها چیه؟!!!!!!! با یک مثال به این دو مفهوم پی میبریم!!!!
!
مثال: در دنیای واقعی هر چیزی یک شی در نظر گرفته میشود!!!!!!! مثل اتومبیل،موتورسیکلت،دوچرخه،خانه،اسلحه،هواپیما،جت،انواع حیوانات نظیر سگ،گربه،شیر،ماهی،مورچه و انسان ها و... شی حساب میشوند!!! درسته؟!!!!!!
خب حالا میخوایم به یکی از این شی ها مثلا سگ بپردازیم!!!
یک سگ حالت ها و رفتار های زیر را دارد!!!!!
حالت ها : هر سگ یک نام،رنگ،نژاد،سن،وزن،قد دارد.
رفتار ها: هر سگ واق واق میکند،غذا میخورد،آب مینوشید،حرکت میکند،می خوابد.
پس هر شی حالت ها و رفتار های مختص به خود را دارد.
خب تا اینجا با حالت ها و رفتار های یک شی آشنا شدیم!!!
شی در برنامه نویسی چطور ساخته میشود؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
شی از کجا میاد؟!!!!!!!!!!!!!!!!!!!!
یادتون میاد ما در بخش متغیر ها میگفتیم فلان متغیر از چه نوعی هست؟!!!
مثلا متغیر a از نوع عدد صحیح است. یا متغیر b از نوع عدد اعشاری است به مثال زیر توجه کنید:
مثال :
int a; char b; float c; double d; |
• متغیر a از نوع int (عدد صحیح) است.
• متغیر b از نوع char (کارکتر) است.
• متغیر c از نوع float (اعشاری) است.
• متغیر d از نوع double (اعشاری) است.
توجه کرده باشید یک متغیر هنگام تعریف ابتدا نوعش رو مشخص کردیم!!!! یعنی هر متغیر یکنوعی دارد!!!!
خب حالا اینا چه ربطی به شی داره؟!!!!!!!!!!! صبر داشته باشید!!!!!!!! :-)
شی هم یک نوع هست!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
شی یک نوع از یک کلاس است!!!!!!!!!!!!
یعنی چی؟!!!!! یعنی شما هنگام ساختن یا تعریف یک شی مثل سایر متغیر ها که نوعش رو مشخص و برای مثال int,char,double و....قرار میدادید شی را از نوع یک کلاس تعریف میکنید یعنی میتوانید نوعش رو نام یک کلاس قرار دهید!!!!
مثال تعریف یک شی:
className objectName |
خب میدونم هنوز مفاهیم واضع نشده!!!! نگران نباشید ادامه آموزش رو دنبال کنید یواش یواش مفاهیم روشن میشود!
کلاس (Class)
در جلسات اولیه آموزش تا حدودی در مورد کلاس و روش ساختن و ساختارش آشنا شدیم.
این که یک کلاس حاوی تمام دستورات برنامه ما است.
حالا با نگاهی موشکافانه تر کلاس را بررسی میکنیم:
یک کلاس قالبی است که تمام حالت ها و رفتار های یک شی را میتواند داشته باشد.!!!!
صبر داشته باشید!!!!! :-)
اشیا در جاوا (Objects in Java)
اجازه بدهید نگاهی عمیق به اشیا بیاندازیم.
در دنیای واقعی پیرامون ما تعداد زیادی اشیا یافت میشود.ماشین ها، سگ ها، انسان ها و...
همه این اشیا حالت و رفتار خاص خود را دارند.
اگر ما به یک سگ نگاهی بیاندازیم حالت هایش : رنگ، نژاد، نام و... رفتارهایش : راه رفتن، غذا خوردن، واق واق کردن و...است.
اگر ما شی نرم افزار را با یک شی در دنیای واقعی مقایسه کنیم مشاهده میکنیم که مشخصات هر دو شبیه به هم است.
اشیا نرم افزار نیز مانند اشیا دنیای واقعی حالت ها و رفتار هایی دارند.
حالت های اشیا یک نرم افزار درون متغیر ها (fields) ذخیره میشود و رفتار های آن با متدها (methods) نمایش داده میشود.
کلاس ها در جاوا (Classes in Java):
تا حدودی با کلاس ها طریقه ایجاد کلاس و کد زنی در متد main کلاس و اجرای برنامه در جلسات قبل آشنا شدیم.
حالا میخوایم جزیی تر به کلاس ها بپردازیم:
• یک کلاس طرح یا نقشه منحصر به فرد اشیایی است که قرار بسازیم.
• اگر خواستیم یک شی از دنیای واقعی رو بسازیم ابتدا کلاسش رو میسازیم که این کلاس حاوی حالت ها و رفتار های آن شی در دنیای واقعی است.
• همان طور که گفتیم حالت ها همان ویژگی ها و متغیر ها در کلاس است و رفتار ها متد های درون کلاس.
بطور مثال اگر خواستیم یک سگ بسازیم!!!! بصورت زیر عمل میکنیم:
1. ایجاد یک کلاس به نام سگ
2. پیاده سازی ویژگی ها و متغیر ها (حالت های) سگ
3. پیاده سازی رفتار ها(متد های) یک سگ
💠یک نمونه از یک کلاس که در آن حالت ها(متغیرها) و رفتار ها(متدها) پیاده سازی شده در مثال زیر آورده شده است:
public class Dog{ void barking(){ |
• کلاس یک سگ را مشاهده میکنید که در بدنه کلاس ویژگی ها(حالت ها) و متد ها (رفتار های ) آن پیاده سازی شده است.
• حالت ها(ویژگی هایش) نوع نژاد، سن، رنگ و رفتارهایش (متدها) واق واق کردن ،گرسنگی ،خوابیدن است.
• String ها یا همون رشته ها(متن) رو در جلسات قبل یکم اشنایی هنگام چاپ بهش اشنایی داریم این رو بدونید که String (رشته) خود نوعی برای تعریف متغیر هست که یک جلسه مخصوص بهش میپردازیم.
• چون رنگ ها در قالب رشته میگنجند مثل blue یک متن یا کلمه هست باید از نوع String یا رشته تعریف شوند.
• سن هم که همه میدونیم یک عدد هست اینم عدد صحیح کسی نمیتونه سنش اعشاری باشه!!! به همین دلیل از نوع int تعریفش کردیم.
• اگر توجه کرده باشید این بار متغیر ها رو در بدنه کلاس و بلافاصله بعد از این که بلوک } کلاس باز شده تعریف کردیم، پس میشود متغیر ها رو علاوه بر درون متد main مستقیم در بدنه کلاس هم تعریف کنیم که جلوتر بهش میپردازیم که چرا و به چه دلیل این کار را انجام دادیم.
• این سه متد هم سری کار برامون انجام میدن فعلا در حد این که نوعش که void هست و اسمش و محدودش مشخص کردیم، جلوتر بهش میپردازیم.
• در پایان همه این دستورات در بدنه کلاس ما قرار دارند.
💡 یک کلاس شامل انواع متغیر های زیر است:
متغیر محلی(Local variables):
متغیر هایی که داخل متد ها (methods)،سازنده ها (constructors) یا بلوک ها تعریف میشوند متغیر محلی(local variables) نامیده میشوند.
💡 نکته: جلوتر به مفهوم سازنده ها (constructors) میپردازیم.
🔵 این متغیر ها در داخل متد ها تعریف و سپس مقدار دهی اولیه میشوند.
🔵 عمر و کارایی این متغیر ها تنها در محدوده بلوک {} متد ها است و خارج از متد کارایی ندارند، به همین دلیل بهشون محلی میگویند یعنی تنها بومی اون متد ها هستند و زبون هیچ کی جز افراد درون متد حالیشون نیست 😊😊😊
متغیر های نمونه (Instance variables):
به متغیر هایی که در داخل یک کلاس و بیرون متدها تعریف میشوند متغیرهای نمونه (Instance variables) گفته میشود.
🔵 این متغیر ها در بدنه کلاس میتوانند مقدار دهی اولیه شوند.
🔵 متغیر های نمونه در داخل هر متد، سازنده (constructors)، بلوک ها و سایر کلاس ها قابل دسترسی است.
متغیر های کلاس (Class variables)
بدون مقدمه چینی و به زبان ساده بهتون بگم که همون متغیر های نمونه هستند تنها با این تفاوت که قبل تعریف نوعشون از کلمه کلیدی static استفاده میکنیم.
در دوره پیشرفته برنامه نویسی جاوا به صورت ویدئویی به موضوع کلاس ها و اشیا در جاواپرداخته ایم.
مثال:
static int a=50; |
• در جلسات آینده به تمامی کلمات کلیدی جاوا از جمله staticمی پردازیم.
• دوستان جاوا خیلی مفاهیم زیاد داره هر جلسه جز به جز تمرین کنید مثال حل کنید و کمی صبر هم چاشنی کار قرار دهید راحت میتونید یاد بگیرید مفاهیم رو چون هیچ برنامه نویسی یک روزه برنامه نویس نشده!!!!
💡 هر کلاس میتواند به هر تعداد، انواعی از متد ها داخلش پیاده سازی شود.
...ادامه این جلسه آموزشی را میتوانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود
نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرامما شوید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |