Amir_B
Amir_B
خواندن ۴ دقیقه·۳ سال پیش

آموزش شی گرایی با جاوا_قسمت دوم !

خب بزن بریم

من از مبانی گذر کردم چون منابع کاملی رو پیدا خواهید کرد .در اینترنت .

IntelliJ IDEA  ساختن کلاس در نرم افزار
IntelliJ IDEA ساختن کلاس در نرم افزار


بر روی پوشه پکیج کلیک راست میکنیم و کلاس را ایجاد میکنیم .

و به کلاس اسم میدهیم و بر اساس قوائد نام گذاری با حروف بزرگ نامگذاری را شروع میکنیم .

ویژگی های دانشجو را در کلاس تعریف میکنیم

فیلد +ستر و گتر = ویژگی

به هر کدام از تابع های نوشته شده متد گفته می شود .

ما این متد ها رو تعریف میکنیم این فیلد ها رو هم تعریف میکنیم و در کنار هم دیگه میشن ویژگی

مثلا معدل را مثال می زنیم که الان پرایویت هست و از بیرون هیچکی به آن دسترسی ندارد .

یعنی در مین(main) اگر دانش آموز را تعریف کنیم و اس(اسم نمونه ما اس است همین طور دل بخواهی ) را بزنیم دیگه برای استیودینت ویژگی هایش را بالا نمی آورد اما به محض پابلیک کردن یکی از آن ها ، و بعد دوباره در مین به آن اشاره کنم ، ، آن را نشان میدهد .

(ما کلاسی می سازیم به اسم استودنت . در مین برای استفاده کردن از این کلاس باید اول تعریفش کنیم .تعریف کردن کلاس به این صورت است :

Student s=new Student();

و s که نوشتیم اسم نمونه ما است .)

نکته مهم این است که قرار نیست همه چیز را پرایوت کنیم.

زمانی که می خواهیم یک عدد صحیح بگیریم که نشان دهنده آیدی باشد باید پرایویت کنیم آن را و بعد ستر و گتر برایش بگذرام و مقدارش را کنترل کنم.

در کلاسی که تشکیل داده ایم به این صورت مقدارش را کنترل میکنیم .

لازم به ذکر است که ارور اینجوری نوشته می شود و ارور را داخل الس گذاشتیم و این به معنی این است که هر موقع الس اتفاق بیفته ارور تولید می شود .(البته اينم بگم كه ارور با اكسپشن فرق داره اکسپشن ، استثناعاتی هستش که خود برنامه نویس برای کدی که مینویسه قرار میده که محدودیت ها رو به وجود بیاره ، مثلا من میخوام معدل برای این دانش آموز تعریف کنم .. خب معدل باید از 0 تا 20 باشه در غیر این صورت اگه باشه باید این اکسپشن بیاد و جلو کار رو بگیره و اگه ما مقدار اشتباه بهش بدیم برنامه رو متوقف کنه . اکسپشن گذاشتن درست حسابی باعث میشه خطا یابی برنامه هم راحت تر بشه . یعنی وقتی کلی کد نوشتی و به مرحله کامپایل کردن میرسی با انبوهی از اکسپشن ها که معلوم نیست چی به چیه ، مواجه نشی . مبحث اکسپشن ها گسترده است .


خب جمع بندی طولانی ای رو بریم که داشته باشیم :

اولا یک !

دوما شما یک کلاس به اسم دانشجو ایجاد کردین .

کامپیوتر خنگه باید بفهمونی بهش ولی حافظه اش خیلی قویه و سرعت پردازشش هم مث حافظه شه .یعنی کامپیوتر کلمه دانشجو رو نمیتونه بفهمه شما باید بهش بفهمونین که اره عزیز من دانشجو از اسم ، نام خانوادگی ، معدل ، id ، و خیلی چیز های دیگه تعریف شده . اینا رو تو برنامه نویسی تحت عنوان متغییر در اختیار داریم به این صورت که تا اونجا که کارمون راه بیفته باید دانشجو رو به کامپیوتر بفهمونیم :) ممکنه پروژه ای بنویسیم که فقط نیاز به نام و نام خانوادگی داشته باشه یا اینکه نیاز باشه کلی متغیر تعریف کنیم براش !

برای این متغیر ها باید سطح دسترسی هم بزاریم . باید متغیر هامون رو پرایویت(private)تعریف کنیم . یعنی سطح دسترسی شون رو محدود میکنیم . پرایویت یعنی خصوصی و ما الان سطح دسترسی رو کاملا بستیم . :))

باید با استفاده از سازنده و همچنین ستر و گتر به متغیر ها دسترسی داشته باشیم .

ستر متد (یا همان تابع (از این به بعد میگیم متد )) ای هستش که ما به وسیله اش به متغیر مورد نظرمان دسترسی پیدا میکنیم و بهش مقدار میدیم . مثلا با استفاده از ستر متغیر avg ( معدل) معدل دانشجو را وارد میکنیم.

گتر هم کارش اینه که در کدی که مینویسیم ، شاید به همون معدلی که وارد کردیم نیاز داشته باشیم . پس میایم و با استفاده از متد گتر اون معدلی که در حافظه مان ذخیره کردیم رو وارد میکنیم .

یادتونه که در بالاتر گفتم یه نمونه از کلاس دانشجو رو باید تعریف کنیم ؟! و در اخرش پرانتزی داشت تو خالی !

وقتی برای دانشجو سازنده داشته باشیم میتونیم همه متغیر هامان ( یا هر کدام رو که دوست داریم ) رو در داخل همان پرانتز مقدار بدیم و با استفاده از علامت کاما "," این مقادیر رو از هم جدا کنیم. مثل عکس پایین :



همون طور که میبینید خود idea هم به شما کمک میکنه و میگه بعدی باید چی باشه مثلا بعدی نام خانوادگی هست و تو باید متغیر رو از جنس استرینگ وارد کنی یعنی چیزی که میخوای بنویسی باید داخل دابل کوتیشن باشه .

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


ستر و گترایجاد کلاسویژگی در جاواشی گرایی در جاواقوائد نام گذاری
دانشجوی کارشناسی کامپیوتر
شاید از این پست‌ها خوشتان بیاید