هنر برنامه نویسی

چرا و چطور برنامه نویس خوبی باشیم ؟!

هنر برنامه نویسی

چرا و چطور برنامه نویس خوبی باشیم ؟!

۱۵ مطلب در ارديبهشت ۱۳۹۱ ثبت شده است

اشیا و کلاس ها در جاوا - بخش اول

فهیم آیت | پنجشنبه, ۲۸ ارديبهشت ۱۳۹۱، ۰۳:۱۰ ب.ظ | ۴ نظر

اشیا و کلاس ها ، دو مفهوم کلیدی هستند که خیلی اوقات برای کسانی که تازه برنامه نویسی رو شروع کرده اند ، باعث سردرگمی شده اند.

در این مطلب سعی کردم با زبانی ساده و همراه مثال ، مفهوم هر کدوم و رابطه بین اونها را توضیح بدم.

 

توی خیلی از منابع ، کلاس رو طرح و مفهوم می دونند و شی رو ، یک موجودی که از روی اون طرح ساخته شده.

مثلا ، نقشه یک ماشین رو در نظر بگیرید ، شما نمی تونید سوارش بشید ، موتورش رو نمی شه روشن کرد ، اما اگر از روی اون نقشه ، یک ماشین بسازید ، می تونید سوارش بشید ، روشنش کنید و هر جا بخواهید بروید.

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

کلاس ها تعاریفی هستند که می تونید از روی اونها چندین شی بسازید. هر کدوم از این شی ها منحصر به فرد هستند. یعنی حتی اگر تمام دو تا از این اشیا کاملا یکسان باشند (مانند دوقلو ها) باز هم دو تا هستند ، نه یکی !

وقتی می خواهیم از روی یک کلاس ، شی درست کنیم ، از دستور new استفاده می کنیم. برای اینکار کافیه جلوی کلمه new نام کلاس مورد نظر رو بنویسید و جلوی اون ، یک جفت پرانتز اضافه کنید.

مثال :

new MyClass() ;

چطوری می تونیم از این شیی که ساختیم استفاده کنیم ؟

کافیه اون رو توی یک متغیر بریزیم ، بعد می تونیم از اون متغیر به شی مورد نظر دسترسی پیدا کنیم :

MyClass someObject ;

someObject = new MyClass() ;

 

همون طور که در مطالب قبل خوندید ، هر کلاس می تونه چندید متد و یا فیلد داشته باشه.

اگر بخواهید به یکی از این فیلد ها یا متد ها دسترسی داشته باشد ( در مورد متد ها ، اصطلاحا می گیم متد رو صدا بزنیم) ، کافیه جلوی نام شی ، یک نقطه بگذاریم و بعد نام اون متد رو قید کنیم

مثال :

int number = someObject.doSomething() ;

در این دستور ، متدی به نام doSomething از شی someObject رو صدا می زنیم و حاصل اون که یک عدد صحیحه رو توی متغیری به نام number میریزیم.

دقت داشته باشید که اگر چند شی از کلاس MyClass داشته باشیم، ممکنه صدا زدن این متد برای هر کدوم از این اشیا جواب متفاوتی رو داشته باشد ، همونطور که اگه با ماشین های مختلف بوق بزنید ، صداهای مختلفی خواهید شنید !!!

 

  • فهیم آیت