خانه » کلاس در جاوا، تعاریف و آموزش تعریف آن
کلاس‌ها در جاوا
کلاس‌ها در جاوا
آموزش جاوا

کلاس در جاوا، تعاریف و آموزش تعریف آن

امروز می‌خوام کلاس ها در جاوا رو توضیح بدم خدمتتون. در ابتدا یک تعریف کلی از کلاس رو به نقل از وب‌سایت برنامه‌نویس میدم خدمتتون:

کلاس چیست؟

کلاس به مجموعه کدی گویند که برای یک هدف نوشته شده اند و در کنار یکدیگر قرار گرفته اند. در دنیای واقعی شما می توانید فرضاً اتومبیل رو یک کلاس در نظر بگیرید. تمام اجزای این اتومبیل برای یک هدف در کنار یکدیگر قرار گرفته اند. حالا شما فرض کنید کلاسی به نام Car ایجاد نمودید. این کلاس می تونه مشخصاتی داشته باشه. مثلاً مشخصه هایی از قبیل تعداد سیلندر – نوع سوخت – رنگ ماشین – تعداد دنده و … اینها همه مشخصاتی هست که می تونید برای کلاس Car مشخص نمایید. که در برنامه نویسی به این مشخصات Property گویند.

ویژگی که برنامه‌نویسی به صورت شی گرا دارد این است که کار را بسیار راحت تر میکنه. مثلاً شما در برنامتان می خواهید کلاسی به نام Student داشته باشید. و مشخصات هر دانش آموز را در آن نگه دارید و از همه مهتر اینکه برای هر دانش آموز دوباره کد نویسی نشود. حالا بهتر است در اینجا شما از یک کلاس به همراه Property های مد نظرتان درست نمایید و برای هر دانش آموز از آن کلاس استفاده نمایید.

شکل کلی کلاس

خب تقریبا هر فایلی که توی جاوا ساخته میشه یا داخلش کلاس‌ داره و یا از کلاسی استفاده می‌کنه. به همین دلیل اهمیت یادگیری کلاس و ساختار اون بسیار مهم هستش. به طور کلی هر فایل جاوا دارای یک کلاس، هم‌نام با فایل هستش. ساختار کلی کلاس به صورت زیر می‌باشد:

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

تعریف متغیر در کلاس

هر کلاس می‌تونه به دلخواه تابع و متغیر داشته باشه. متغیر‌های داخلی کلاس را در ابتدای آن تعریف می‌کنیم:

اینکه اون public و private و protected چی هستش رو بعدا توضیح می‌دم.

مقادیر متغیر‌های کلاس در تمامی توابع آن کلاس قابل دسترس می‌باشد.

تعریف تابع در کلاس

حالا می‌رسیم سراغ تابع کلاس. تا الان یک تابع رو باهاش کار کردیم و ازش استفاده کردیم، اسمش main بود که کد‌هامون رو توش می‌نوشتیم. تابع‌ها ۴ حالت دارن:

  1. مقداری نمی‌گیرد و مقداری بر‌نمی‌گرداند
  2. مقداری نمی‌گیرد و یک مقدار برمی‌گرداند
  3. مقداری می‌گیرد و مقداری بر‌نمی‌گرداند
  4. مقداری می‌گیرد و یک مقدار بر ‌می‌گرداند.

نحوه‌ی تعریف تابع کلاس در حالت اول به صورت زیر هستش:

داخلی آکولاداش حالا دستوراتی هستند که ما میخوایم.

نحوه‌ی تعریف تابع کلاس در حالت دوم:

که در این مثال، این تابع کلاس مقداری از نوع int بر‌می‌گرداند و این مقدار برابر است با ۲.

نحوه‌ی تعریف کلاس در حالت سوم:

که در این مثال، ۴ مقدار را به صورت پارامتر ورودی دریافت می‌کند.

نحوه‌ی تعریف کلاس در حالت چهارم:

نحوه‌ی استفاده از کلاس

برای استفاده از کلاس‌ ها باید از اون‌ها شی ساخته بشه.

فرض کنید توی تابع main میخوایم از این کلاس استفاده کنیم:

باید به این صورت عمل کنیم:

به این صورت تابع functionName ما اجرا می‌شود.

دسترسی گرفتن به متغیرها هم به همین صورت هستش. ما به متغیرها و توابع public دسترسی داریم، متغیرها و توابع private در یک کلاس، تنها قابل استفاده در همان کلاس می‌باشد  و متغیرها و توابع protected هم پایین‌تر در همین پست توضیح می‌دم. در صورتی که چیزی پشت توابع و متغیرها نوشته نشه، اصطلاحا Package Protected میشن. به این معنی که تنها در کلاس‌ های همون پکیجی که کلاس ما وجود دارد قابل استفاده است.

تعریف setter و getter برای کلاس

به طور کلی، در طول برنامه‌نویسی تلاش ما بر این هستش که متغیرهای کلاس رو private تعریف کنیم. خب زمانی که اینجوری کار می‌کنیم، در طول برنامه شاید نیاز به اون متغیر‌ها و توابع داشته باشیم یا اینکه بخوایم اون‌ها رو مقدار بدیم. برای این کار، از setter و getter استفاده می‌کنیم.

نحوه‌ی تعریف setter و getter کاملا قراردادی هستش. برای تعریف این‌ها شما می‌تونید از ۲ روش استفاده کنید.

  1. خودتون بنویسین (توصیه نمیشه)
  2. از ide کمک بگیرید.

خب روش اول که کلا هیچی. برای روش دوم در intellij idea توی کلاس راست کلیک کرده و generate رو می‌زنیم. حالا Getter And Setter رو انتخاب می‌کنیم:

آموزش تعریف Getter و Setter کلاس
آموزش تعریف Getter و Setter کلاس

حالا متغیرهای کلاس رو که می‌خوایم براشون setter و getter بنویسیم رو انتخاب می‌کنیم. به همین راحتی.

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

تابع سازنده کلاس (Constructor)

خب یک تابع داریم در کلاس که بهش می‌گن constructor . این تابع به این صورت عمل می‌کنه که در هنگام ساختن شی از کلاس، به صورت اتوماتیک اجرا میشه. این تابع مقادیری رو هم می‌تونه به صورت ورودی بگیره. نحوه‌ی تعریف این تابع به صورتی هستش که اسم تابع، هم اسم کلاس ما هستش:

در این‌جا در هنگام ساختن شی از کلاس باید مقدار id به صورت int رو به کلاس بدیم و تابع سازنده این رو در متغیر id کلاس ذخیره می‌کنه:

در constructor ها می‌تونیم از setter و getter های کلاس استفاده کنیم. البته معمولا از setter استفاده میشه.

کلمه‌ کلیدی this در کلاس

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

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

۱ نظر

برای ارسال نظر اینجا را کلیک کنید