کلاس ها در جاوا - بخش اول
کلاس ها در جاوا – بخش صفرم (خیلی مقدماتی !)
در این مطلب سعی دارم خیلی مختصر کلاس های جاوا رو معرفی کنم. مفاهیم پیشرفته کلاس ها و تکنیک های دیگه رو موکول می کنم به مطالب بعدی.
خیلی ساده می شه گفت که کلاس ها ابزاری هستند برای بسته بندی و طبقه بندی تمیز و مرتب اطلاعات و عملیاتی که روی این اطلاعات قابل انجام هستند. به عبارت بسته بندی توجه کنید، بخصوص اگه می خواهید طراح خوبی باشید !
فرض کنید می خواهیم یک سیستم ساده ویدئو کلوپ بنویسیم. اطلاعاتی رو که سیستم باهاشون سر و کار داره رو در نظر بگیرید. اطلاعاتی مثل نام فیلم ، ژانر ، سال تولید ، نام مشتری ها ، فیلم هایی که گرفتند ، اینکه از هر فیلم چند تا داریم ،اینکه چند نفر توی ویدئو کلوپ کار می کنند و هر فیلم رو کدومشون به کی اجاره دادند ، نرخ اجاره فیلم چقدره ، هر مشتری چقدر بدهکاره و ….
اگه همه این اطلاعات و ارتباط هایی که باهم دارند رو به همین صورت لیست کنید، احتمالا کافیه که یه نگاهی به لیستتون بندازید تا یه سرگیجه حسابی بگیرید ! اگر این مجموعه اطلاعات رو بدید به یه آدم حسابی و بهش بگید برامون مرتب کن (صرف نظر از برنامه نویسی و بطور کلی کامپیوتر ) احتمالا اولین کاری که می کنه اینه که مجموعه اطلاعات رو طبقه بندی کنه . یعنی اینکه می گیم یه موجودی داریم به اسم فیلم که از این موجود یه سری اطلاعات مثل اسمش ، نام کارگردانش ، سال تولید و … بدردمون می خوره .
یه موجود دیگه داریم به اسم مشتری که اون هم یه سری اطلاعات بدرد بخور داره مثل نام و نام خانوادگی و تاریخ عضویت و ...
یه موجود دیگه هم داریم به نام کارمند که خیلی شبیه به مشتریه
تا همین جا کافیه ، فعلا این دوتا کلاس ساده رو می نویسم :
class Movie{ public String name ; public String directorName; public int releaseYear ; }
تعریف این کلاس خیلی ساده به نظر می آد :
خط اول می گیم یه کلاس داریم به نام Movie
توی سه خط بعدی می گیم این کلاس سه تا خصوصیت داریم اولی اسمش name هست و از جنس String . یعنی داده ای که با نام name ذخیره می کنیم تشکیل شده از رشته ای از کاراکتر ها. خط بعدی هم به همین صورت.
توی خط سوم اعلام می کنیم که یه خصوصیت دیگه داریم به نام سال پخش یا releaseYear که از جنس عدده.
به این خصوصیت ها اصطلاحا می گیم Field . دقت کنید که تمام فیلد هامون با کلمه کلیدی public شروع می شوند.
الان خیلی توضیح نمی دم. فقط در همین حد بگم که public یعنی بقیه کلاس ها به این فیلد دسترسی دارند.
class Customer{ public String firstName; public String lastName; public String tel ; public String address; public String getFullName (){ return firstName + " " + lastName; } }
این کلاس هم خیلی شبیه به کلاس قبلیه ، با این فرق کوچیک که این کلاس یک متد هم داره.
در مورد متد ها توی پست جدایی توضیح کامل می دم. الان فقط به همین بسنده می کنم که متد یعنی رفتار.
- ۹۱/۰۲/۱۲