شما می توانید با عضویت در انجمن پرسش و پاسخ درسمن هرگونه سوالی دارید را مطرح کنید


شی گرایی در زبان جاوا (مفاهیم پایه)


شی گرایی در زبان جاوا (مفاهیم پایه)
برای دانلود و دیدن آنلاین این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

مبانی شی گرایی


برای بالا بردن ارزش برنامه باید مفاهیم شی گرایی را به خوبی یاد بگیریم.
شی گرایی نسبت به دیگر مفاهیم برنامه نویسی پیچیدگی بیشتری دارد.
اگر مفاهیم شی گرایی را در زبان جاوا به خوبی یاد بگیرید حتما برنامه نویس خوبی در این زبان خواهید شد.
در برنامه هایی که از روش شی گرایی استفاده نمیشود اگر در آینده قصد توسعه آن برنامه را داشته باشیم باید قسمتی از کد را پاک یا دوباره نویسی کنیم که این عمل کار را سخت و طولانی میکند.
همان طور که میدانید امروزه تمامی برنامه ها در حال توسعه هستند یعنی هر چند وقت یک یا چند ویژگی به آنها اضافه میشود.

در برنامه نویسی شی گرا به جای این که از روش مبتنی بر کد استفاده شود؛ از روش مبتنی بر داده استفاده میشود.
یعنی این که برنامه نویسی شی گرا یک روش کد نویسی مبتنی بر داده است و لحظه ای که قرار است یک پروژه ای شروع شود، به جای این که اول کار به این فکر کنیم که چه کار هایی باید انجام شود؛ به این فکر میکنیم که قرار است روی چه داده هایی کار کنیم.

برای درک بهتر مفهوم شی گرایی به مثال عامیانه زیر توجه کنید:
یک محیط مانند خانه یا محل کار را در نظر بگیرید؛ در این محیط شما اشیاء مختلفی را مشاهده میکنید.
این اشیاء هرکدام میتوانند برای خود تعدادی صفت و رفتار داشته باشند همچنین میتوانند تعدادی فعل را بپذیرند.
به طور مثال یک شیء میز در هر شکل و مدلی دارای یک سری ویژگی ها میباشد؛ اگر ما بتوانیم ویژگی های آن را بشناسیم حتما میتوانیم رفتار های آن را نیز تشخیص بدهیم و روی فعل هایی که میتواند بپذیرد هم فکرکنیم.
پس شی گرایی تلاش میکند تا اشیاء بیرون از کامپیوتر را وارد کامپیوتر کند، چون همه‌ی برنامه های کاربردی به همین شکل هستند.
برای وارد کردن یک شیء به کامپیوتر ما باید اول صفت های آن شیء را بنویسیم و سپس در بخش بعدی باید رفتار ها و عملیات هایی که میتوان روی آن صفت ها اجرا کرد را مشخص کنیم.
اگر توانستیم این کار را برای هر شیئی در محیط اطرافمان انجام دهیم، میتوانیم آن را وارد سیستم کنیم.
یک میز را در نظر بگیرید و تعدادی از صفت های آن را بررسی کنید؛ وقتی میخواهیم ویژگی های میز را بررسی کنیم ما باید ویژگی های مشترک همه‌ی میز ها را در نظر بگیریم.
شی گرایی با مفهومی به نام کلاس (class) به برنامه نویسی اضافه شد؛ یعنی این که اگر شما بخواهید یک ساختار شی گرا داشته باشید باید بتوانید کلاس تعریف کنید.
هر موجودیتی که بخواهد از بیرون وارد سیستم شود باید یک کلاس داشته باشد؛ هر کلاس تعدادی صفت و عملکرد دارد که به این ها اعضای تشکیل دهنده یک کلاس میگویند.
در کلاس میز، رنگ، قیمت، طول، عرض و... صفت های کلاس شدند اما از عملکرد های این کلاس میتوان به محاسبه مساحت سطح میز یا میزان سود حاصل از فروش آن اشاره کرد.
ما برای همه اشیاء میتوانیم کلاس بنویسیم؛ از دید برنامه نویسان هرچیزی در محیط اطرافشان یک شی محسوب میشود، حتی یک استاد یا دانشجو.
حال شاید این سوال برایتان پیش آمده باشد که چرا کلمه "کلاس" (class) را اضافه کردند؟؟
چون وقتی میگویند کلاس میز ها یعنی این که دارند اشیائی از جامعه بزرگ را کنار هم قرار میدهند که هم ویژگی اند یا به عبارتی همکلاسی اند.
اما کلاس ها چند ویژگی مهم به ما میدهند، اگر هرکدام از این ویژگی ها را از دست بدهیم ارزش کلاس پایین می‌آید
این ارزش ها عبارت اند از:

  • چند ریختی(Polymorphism)
  • کپسوله سازی(Encapsulation)
  • ارث بری(Inheritance)


مفهوم شی گرایی در زبان های مختلف برنامه نویسی به چندین روش گفته میشود اما مفهوم کلی آن یکی است.
ما تا به اینجا از کلاس ها استفاده کرده ایم اما با دقت به آن ها توجه نکرده ایم. در پروژه های قبل اولین کاری که بعد از ساختن یک پکیج انجام میدادیم یک کلاس تعریف میکردیم.
کار پکیج بسته بندی کلاس ها است؛ اگر در یک پروژه ای چندین کلاس به هم ربط داشته باشند و با هم کار کنند و یا به عبارتی متصل به هم باشند آن ها را در یک پکیج قرار میدهیم.
جاوا یک زبان برنامه نویسی کاملا شی گرا است و ما نمیتوانیم خارج از شی گرایی در زبان جاوا برنامه نویسی کنیم.
وقتی که ما یک کلاس تعریف میکنیم و متد Main را به آن اضافه میکنیم یعنی این که این متد یک عضو از کلاس ما میباشد.
اعضایی که به صورت تابعی نوشته میشوند همان عملکرد های ما هستند.
وقتی در کلاسی یک تغییر تعریف میکنیم و از قبل هم متد Main به آن کلاس اضافه شده است، کلاس ما دارای دو عضو میشود که، متد Main یک عضو تابعی و تعریف متغییر یک عضو داده ای میباشد.

 

package package1;

public class MainClass {
	
	int number;
	public static void main(String[] args) {
		
	}

}


در گذر زمان که با سطوح دسترسی به اعضای یک کلاس آشنا شوید، متوجه خواهید شد که این اعضا همدیگر را میشناسند چون اعضای یک کلاس هستند.
به طور مثال برای اضافه کردن یک کلاس با نام (Miz) همان طور که اول برای پروژه یک پکیج در نظر میگیریم و کلاسی را در آن قرار میدهیم، برای تعریف کلاس جدید نیز باید روی پکیج مورد نظر راست کلیک کرده و از پنجره ای که باز شده است، قسمت New، گزینه Class را انتخاب کنیم و یک نام برای آن در نظر بگیریم؛ اینگونه یک کلاس جدید تعریف کرده ایم.
برای کلاس میز، صفت هایی که یک میز دارد مشخص میکنیم؛ به مثال زیر توجه کنید:

 

package package1;

public class Miz {
	float tool;
	float arz;
	int gheymat;
	String coName;
}


کد های بالا اعضای داده ای ما هستند؛ اما اعضای تابعی ما که برای مثال همان مساحت سطح میز میباشد به روش زیر نوشته میشود:
 

package package1;

public class Miz {
	float tool;
	float arz;
	int gheymat;
	String coName;
	
	public float masahat()
	{
		return tool*arz;
	}

}

 


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
26 جلسه برای دوره رایگان آموزش جاوا - مقدماتی تا متوسط

درس 1
مقدمه ای بر زبان برنامه نویسی جاوا
28 دقیقه / رایگان

درس 2
نصب و راه اندازی و ایجاد اولین برنامه در eclipse
30 دقیقه / رایگان

درس 3
ساختار کلی برنامه در زبان جاوا
17 دقیقه / رایگان

درس 4
ساختار کلی برنامه در زبان جاوا (بخش دوم)
18 دقیقه / رایگان

درس 5
عملگر ها در زبان جاوا
49 دقیقه / رایگان

درس 6
چاپ اطلاعات در خروجی در زبان جاوا
30 دقیقه / رایگان

درس 7
دریافت داده از ورودی (کاربر) در زبان جاوا
29 دقیقه / رایگان

درس 8
تولید داده تصادفی و آشنایی با کلاس Random در زبان جاوا
19 دقیقه / رایگان

درس 9
دستورات کنترل اجرای برنامه (if, if-else) در زبان جاوا
23 دقیقه / رایگان

درس 10
دستور کنترلی switch-case در زبان جاوا
21 دقیقه / رایگان

درس 11
حلقه تکرار for در زبان جاوا
22 دقیقه / رایگان

درس 12
دستورات While و Do-While در زبان جاوا
27 دقیقه / رایگان

درس 13
شی گرایی در زبان جاوا (مفاهیم پایه)
33 دقیقه / رایگان

درس 14
شی گرایی در زبان جاوا (سطوح دسترسی به اعضای کلاس)
30 دقیقه / رایگان

درس 15
شی گرایی در زبان جاوا (Getter-setter)
40 دقیقه / رایگان

درس 16
شی گرایی در زبان جاوا (متدهای سازنده و اعضای استاتیک)
29 دقیقه / رایگان

درس 17
شی گرایی در زبان جاوا (وراثت)
25 دقیقه / رایگان

درس 18
شی گرایی در زبان جاوا (چند ریختی یا پلی مورفیسم Polymorphism)
29 دقیقه / رایگان

درس 19
شی گرایی در زبان جاوا (کلاس abstract )
25 دقیقه / رایگان

درس 20
شی گرایی در زبان جاوا (interface)
21 دقیقه / رایگان

درس 21
آرایه های یک بعدی در زبان جاوا
40 دقیقه / رایگان

درس 22
آرایه های دو بعدی و لیست ها در زبان جاوا
34 دقیقه / رایگان

درس 23
HashMap و Enum ها در زبان جاوا
28 دقیقه / رایگان

درس 24
آموزش رشته ها در جاوا
38 دقیقه / رایگان

درس 25
کنترل خطا و استثنا ها در جاوا
30 دقیقه / رایگان

درس 26
برخورد با استثناها در جاوا
27 دقیقه / رایگان

دوره رایگان آموزش جاوا - مقدماتی تا متوسط


تعداد جلسات 26 جلسه
مدت زمان 685 دقیقه
سطح مهارت مقدماتی
زبان فارسی
دانشجو 178 دانشجو
گواهی نامه ندارد
قیمت دوره : 0 تومان
رایگان
مهدی عباسی
مهدی عباسی

درباره مدرس :

مدیر‌ عامل‌ شرکت آریا‌ نرم‌‌ افزار دارنده مدرک کارشناسی‌ ارشد مهندسی کامپیوتر 12‌ سال سابقه تدریس دروس کامپیوتر را در دانشگاههای دولتی، آزاد، پیام‌نور ملایر، شهیدشمسی‌پور تهران و تدریس برنامه‌نویسی در انیستیتو ایزایران، مجتمع فنی و موسسه راه‌آینده تهران دارا میباشد و تا به حال راهنمایی انجمنهای علمی دانشگاه و صدها پروژه دانشجویی را برعهده داشته است. تخصص اصلی: با داشتن گواهی‌نامه‌های معتبر تدریس از انیستیتو‌ ایزایران، راه آینده‌تهران و سازمان‌فنی‌حرفه‌ای، تدریس و آموزش‌ دروس کامپیوتر، ‌برنامه‌نویسی کامپیوتر و کلاسهای کنکور کارشناسی و کارشناسی‌ارشد میباشد.همچنین تجربه داوری و نظارت مسابقات برنامه‌نویسی کشوری‌ACM را در سالهای متعدد داشته و تیم مورد رهبری ایشان در 3سال متوالی مقام اول مسابقات کشوری را از آن خود کرده است.ایشان مقالاتی در زمینه شبکه‌های کامپیوتری، تکنیک‌های وزارت دفاع و ... به ثبت رسانده و مشاور و کارشناس در طراحی و برنامه نویسی بیش از 50‌برنامه کاربردی تحت وب و ویندوز و موبایل میباشد. افتخارات دیگر:کسب مقام دوم ایده‌های برتر در مسابقات استارت‌آپ و بکند کشوری را نام برد.