خلاصه مطلب
در آموزش بصورت بسیار ساده و راحت مفهوم کلاس و اشیا و شی گرایی را یاد خواهید گرفت!!!
فهرست جلسات دوره مقدماتی جاوا
مقدمه اول | جاوا چیست؟
مقدمه دوم | تاریخچه جاوا
مقدمه سوم | ویژگیهای زبان جاوا
جلسه اول | راهنمای دانلود و نصب JDK
جلسه دوم | اجرای یک برنامه جاوا در Notepad
جلسه سوم | راهنمای دانلود و نصب Eclipse
جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse
جلسه پنجم | متغیر ها در جاوا
جلسه ششم | تغییر فونت محیط Eclipse
جلسه هفتم | عملگرهای پایه ای جاوا
جلسه هشتم | دستورات شرطی
جلسه نهم | اشیا و کلاس ها
جلسه دهم | ورودی گرفتن
جلسه یازدهم | حلقههای کنترلی
جلسه دوازدهم | کلمه کلیدی static
جلسه سیزدهم | کلاس Math
جلسه چهاردهم | کلاس String
جلسه پانزدهم | آرایههای یک بعدی
جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)
جلسه هفدهم | متدها در جاوا
جلسه هجدهم | کلمه کلیدی this
جلسه نوزدهم | کلاسهای داخلی
جلسه بیستم | ارث بری در جاوا
جلسه بیست و یکم | کلمه کلیدی final
جلسه بیست و دوم | Overriding در جاوا
جلسه بیست و سوم | Polymorphism( چند ریختی)
جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید
جلسه بیست و پنجم | Abstraction( انتزاع)
جلسه بیست و ششم | Encapsulation(کپسوله سازی)
جلسه بیست و هفتم | اینترفیس (Interface)
جلسه بیست و هشتم | کلاس Random
جلسه بیست و نهم | Exceptions (استثناها)
جلسه سی ام | کار با فایل در جاوا(Files and I/O)
جلسه سی و یکم | کلاس InputStreamReader
جلسه سی و دوم | کلاس OutputStreamWriter
جلسه سی و سوم | کلاس BufferedReader
جلسه سی و چهارم | کلاس BufferedWriter
جلسه سی و پنجم | Serialization در جاوا
جلسه سی و ششم | چندنخی(Multithreading)
جلسه سی و هفتم | آرایه دو بعدی در جاوا
جلسه سی و هشتم | کلاس ArrayList در جاوا
جلسه سی و نهم | Non Access Modifier در جاوا

کلاس خصوصی برنامه نویسی جاوا(اینجا کلیک کن)
انجام پروژه برنامه نویسی جاوا(اینجا کلیک کن)
لیست دوره های آکادمی جاوا پرو
جلسه نهم - اشیا و کلاس ها
جاوایک زبان برنامه نویسی شی گرا (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{ String breed; int age; String color; void barking(){ } void hungry(){ } void sleeping(){ } } |
• کلاس یک سگ را مشاهده میکنید که در بدنه کلاس ویژگی ها(حالت ها) و متد ها (رفتار های ) آن پیاده سازی شده است.
• حالت ها(ویژگی هایش) نوع نژاد ، سن ، رنگ و رفتارهایش (متدها) واق واق کردن ،گرسنگی ،خوابیدن می باشد.
• 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 شده) در لینک زیر دریافت کنید.

این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)لینک دانلود
.png)
.png)
نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است. برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرامما شوید.

