کلاس در جاوا چیست؟

29 تیر 1403 - آخرین بروزرسانی: 28 تیر 1403
جاوا
زمان تقریبی مطالعه: 5 دقیقه

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

 

آموزش کلاس در جاوا

ازآنجایی‌که زبان برنامه‌نویسی جاوا، یک‌زبان آبجکت محور است و از مفاهیمی مانند Class، Object، Abstraction و … تشکیل می‌شود.  درواقع کلاس در جاوا الگویی است که برای ایجاد آبجکت مورد استفاده قرار می‌گیرد. به کمک کلاس ما می‌توانیم ویژگی و رفتار برای آبجکت موردنظر خود تعریف کرده و مدل‌های بسیار پیچیده‌ای را خلق کنیم. درواقع اگر بخواهیم به زبان ساده‌تر این قضیه را توضیح دهیم می‌توان با یک مثال پیش رفت. تصور کنید که قصد دارید که یک ماشین بسازید؛ در اینجا کلاس مانند یک طرح و نقشه باعث می‌شود تا بتوانید ویژگی‌ها و قابلیت‌های موردنظرتان را روی این ماشین پیاده‌سازی و تعریف کنید.

با کمترین هزینه برنامه نویسی جاوا را یاد بگیرید

 

تعریف کلاس جاوا

برای تعریف یک کلاس در جاوا اسکریت از کلمه کلیدی ‘Class’ استفاده می‌کنیم. برای نمونه برای ساختن یک ماشین می‌توان از یک کلاس تحت عنوان ‘Car’ استفاده کرد.

کد

اجزای تشکیل دنده یک کلاس در جاوا شامل موارد زیر هستند:

  • ویژگی‌ها یا Attributes: ویژگی‌ها درواقع متغیرهایی هستند که اطلاعات مرتبط با آبجکت موردنظر را ذخیره می‌کنند. مانند رنگ یا مدل.
  • سازنده یا Constructor: این متد را زمانی اجرا می‌کنیم که قصد داریم از یک کلاس، یک شئ جدید ایجاد کنیم. به کمک این قابلیت ویژگی‌های شئ جدید را می‌توان مقداردهی کرد.
  • روش‌ها یا Methods: روش‌ها درواقع کارهایی هستند که شئ مدنظر توانایی انجام آن را دارد. مثل روشن کردن ماشین (Start)، راندن خودرو (Drive) و …

 

مطلب پیشنهادی: بهترین زبان های برنامه نویسی

 

چگونه با استفاده از کلاس در جاوا یک آبجکت ایجاد کنیم؟

برای ایجاد یک آبجکت یا شئ باید از کلاس در جاوا استفاده کنیم. در ابتدای کار باید با استفاده از کلمه ‘new’ مراحل را آغاز کنیم. تصویر زیر نمونه‌ای از ایجاد یک شئ جدید به کمک کلاس است.

کد

مزایای وجود کلاس در جاوا اسکریپت چیست؟

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

قابلیت استفاده مجدد از کد یا Reusability

یکی از مهم‌ترین ویژگی‌های وجود کلاس در جاوا همین است که به برنامه‌نویس این امکان را می‌دهد تا از کدها مجدد در هر بخشی استفاده کند. برای مثال اگر کلاسی را یک‌بار تعریف کنید، در آینده می‌توان به‌سادگی در بخش‌های مختلف برنامه‌های بعدی خود، بدون این‌که نیاز به نوشتن مجدد آن داشته باشید از کلاس مذکور استفاده نمایید.

وراثت یا Inheritance

با استفاده از کلاس شما می‌توانید ویژگی وراثت را ایجاد کنید. این موضوع بدان معناست که کلاس شما می‌تواند ویژگی و رفتارهای یک کلاس دیگر را در جاوا به ارث ببرد. این مسئله در کاهش کدهای تکراری به برنامه‌نویس کمک شایانی کرده و منجر به ایجاد ساختارهای منطقی و قابل توسعه می‌شود.

کپسوله سازی یا Encapsulation

کد

از دیگر مزایای وجود کلاس در جاوا اسکریپت این است که برنامه‌نویس می‌تواند اطلاعات مرتبط با یک آبجکت را محافظت یا مخفی کرده و فقط برای رابط‌های موردنظر خود دسترسی استفاده از آن را ایجاد کند. مدیریت این ویژگی به کمک متغیرهایی مثل خصوصی‌سازی (Private) و عمومی‌سازی (Public) صورت می‌گیرد.

 

مطلب پیشنهادی: برنامه نویسی شی گرا چیست؟

 

چگونه متغیرها را در کلاس جاوا اسکریپت تعریف کنیم؟

قبل از هر چیزی باید برای تعریف متغیر، نوع آن را مشخص کنیم. برای مثال متغیر می‌تواند عدد صحیح (مانند ‘long’ ، ‘int’) یا جزو اعداد اعشاری مانند ( ‘float’ , ‘double’) یا حتی متنی (مثل ‘string’) باشد. همچنین می‌توانید داده سفارشی ایجاد کنید.

در قدم بعدی باید نام متغیر را مشخص کنیم. این نام باید با یک حرف شروع شود و در ادامه می‌توان از حروف، اعداد، آندرلاین (‘_’) برای آن استفاده کرد. در گام بعد می‌توانید یک مقدار اولیه برای متغیر ایجادشده تعیین کنید. توجه داشته باشید که این مرحله اختیاری بوده و می‌توان در زمان تعریف متغیر و یا در زمان Constructor کلاس را مقداردهی کرد.

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

تعریف یک متغیر عدد صحیح در جاوا اسکریپت:

کد

تعریف یک متغیر متنی در جاوا:

کد

متغیر ایستا در جاوا اسکریپت چیست؟

متغیر ایستا در زبان برنامه‌نویسی جاوا یک نوع خاصی از متغیر است که برای همه نمونه‌های یک کلاس به‌صورت مشترک وجود دارد؛ و لزومی ندارد که برای هر نمونه از کلاس متغیر جداگانه تعریف کنیم. ازجمله ویژگی‌های متغیر ایستا در جاوا می‌توان به موارد زیر اشاره کرد.

  1. مشترک بودن: متغیر ایستا را می‌توان برای تمامی نمونه‌های یک کلاس به‌صورت مشترک استفاده کرد. به‌عبارت‌دیگر اگر متغیر ایستا را دریکی از کلاس‌ها تغییر دهیم، تغییرات در سایر نمونه‌های دیگر نیز به‌صورت خودکار اعمال خواهد شد.
  2. تعریف: از فرمان ‘static’ برای تعریف یک متغیر ایستا در جاوا استفاده می‌کنیم.
  3. استفاده متعدد: از متغیر ایستا برای ذخیره داده‌های مشترک (مثل یک مقدار ثابت یا اطلاعاتی که باید در سطح کلاس نگه‌داری شود) استفاده می‌شود.

کد

متغیر محلی در جاوا چیست؟

در جاوا اسکریپت، متغیر محلی به متغیرهایی گفته می‌شود که در درون یک کنستراکتور، یک بلوک یا حلقه و … تعریف می‌شوند و فقط در همان بلوک می‌توان به آن دسترسی داشت. ازجمله ویژگی‌های متغیر محلی می‌توان به موارد زیر اشاره کرد:

  • محدودیت دسترسی: این نوع متغیر تنها در بلوک کدی که در آن تعریف‌شده‌اند قابل‌دسترسی بوده و خارج از آن نمی‌توان به آن‌ها دست پیدا کرد.
  • تعریف نکردن مقادیر پیش‌فرض: برای متغیرهای محلی مقادیر اولیه تعیین نمی‌شود، به همین دلیل هم قبل از استفاده باید به آن‌ها مقداردهی کنید.
  • محدود بودن عمر زمانی: متغیرهای محلی در جاوا بعد از این‌که زمان اجرای بلوک به پایان می‌رسد از حافظه حذف می‌شوند.

کد

متغیر نمونه در جاوا اسکریپت چیست؟

متغیر نمونه در جاوا به متغیرهایی می‌گویند که برای هر Instance از یک کلاس تعریف می‌شوند. این نوع متغیرها برای هر نسخه از کلاس یک کپی جداگانه داشته و مقادیر آن‌ها برای هر نسخه به‌صورت مستقل قابل‌دسترسی و تعیین است. ازجمله ویژگی‌های متغیر نمونه می‌توان به موارد زیر اشاره کرد:

  • مستقل بودن از دیگر نمونه‌ها به‌طوری‌که تغییر در مقدار یک متغیر نمونه، سایر نمونه‌ها را تحت تأثیر قرار نمی‌دهد.
  • با استفاده از کلیدواژه ‘this’ تعریف می‌شوند.
  • مقادیر اولیه برای هر نمونه به‌صورت مستقل در کنستراکتور تعیین می‌شود.
آیا این مطلب برای شما مفید بود؟
بلهخیر
نویسنده مطلب ژاله برومند
توسعه محتوا، سئو و سوشیال مدیا مارکتینگ از علایق من هست و برای رسیدن به موفقیت و بهترین‌ها همیشه در تلاش هستم. در کنار تلاش برای رسیدن به موفقیت، همواره سعی در بروزرسانی اطلاعاتم دارم و کمک میکنم تا بین رقبای کسب و کار خودتون بدرخشید و برندی متمایز داشته باشید.

دیدگاه شما

بدون دیدگاه