کلاس (برنامه‌نویسی)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در مهندسی نرم‌افزار و مهندسی دانش کلاس نقشهٔ نوعی و مشترک برای گروهی از اشیاء[۱] است که ویژگی‌های[۲] مشترکی داشته، و رفتارهای مشترکی از خود نشان می‌دهند. درواقع، کلاس‌ها انواعی هستند که شخص برنامه‌نویس، خود می تواند، آن‌ها را برای حل مسئله‌های دنیای واقعی طراحی کند، و حاوی تعریف‌های لازم برای دو عنصر اساسی زیر می‌باشند:

اشیاء نمونه‌هایی هستند که به هنگام اجرا از روی نقشهٔ ارائه شده به‌وسیلهٔ کلاس ایجاد می‌شوند. می‌توان گفت همان‌طور که متغیر نمونه‌ای از انواع اولیه است، شیء نمونه‌ای از کلاس است. (۱)

برنامه‌نویسی شیءگرا، داده‌ها (خواص) و متدها (رفتارها) را در بسته‌هایی به نام کلاس محصور می‌کند.[۳] کلاس‌ها دارای خاصیت کپسوله سازی[۴] هستند. این بدان معناست که اشیاء می‌دانند که چگونه از طریق رابط‌های تعریف‌شده با یکدیگر ارتباط برقرار کنند. معمولاً، اشیاء نباید از چگونگی پیاده‌سازی اشیاء دیگر مطلع باشند، به‌عبارت دیگر، جزئیات پیاده‌سازی در داخل خود اشیاء پنهان شده‌اند.

مثال: رانندگی خودرو بدون اطلاع از خصوصیات طرز کار داخلی موتور و سیستم‌های اگزوز و جعبه‌دنده امکان‌پدیر است. در مهندسی نرم‌افزار ضرورت پنهان‌سازی اطلاعات امری بسیار مهم هست.[نیازمند منبع]

در زبان‌های رویه‌ای[۵] برنامه‌نویسی، مثل زبان سی (C)، برنامه‌نویسی، بیشتر عملگرایانه[۶] است. درحالی‌که، زبان‌های برنامه‌نویسی سی‌پلاس‌پلاس (++C)، جاوا (Java)، و سی‌شارپ (#C) دارای پارادایم شیءگرایانه هستند. واحد برنامه‌نویسی در زبان‌های رویه‌ای تابع است، ولی، زبان‌های شی گرا دارای کلاس‌ها - که اشیاء نهایتاً از آنها ایجاد می‌شوند ( یا اصطلاحاً نمونه‌سازی می‌شوند) - به عنوان واحد برنامه نویسی هستند. توابع نیز در داخل کلاس‌ها به عنوان متدهایی پیاده سازی می‌شوند.

برنامه‌نویسان C بیشتر بر روی نوشتن توابع متمرکز هستند. گروه‌هایی از اعمال که وظیفهٔ خاصی را بر عهده دارند، توابع را تشکیل می‌دهند و توابع گروه شده و برنامه را تشکیل می‌دهند. البته در زبان c داده‌ها نیز مهم هستند، اما نگرش اصلی در اینگونه زبان‌ها این است که داده‌ها بیشتر برای پشتیانی اعمالی که توابع انجام می‌دهند به کار می‌روند.(۲)

متغیرها[ویرایش]

مقالهٔ اصلی: متغیرها

همواره، متغیرها سه صفت عمده را دارا هستند: اسم، نوع، و مقدار. چنانچه اشیاء را گونه امتداد یافته ی متغیرها بدانیم، کلاس در واقع نوع (Type) را مشخص می‌کند

پانوشته‌ها[ویرایش]

  1. Objects
  2. Properties
  3. Encapsulation
  4. Encapsulation
  5. Procedural
  6. Action oriented

جستارهای وابسته[ویرایش]

پیوند به بیرون[ویرایش]

منابع[ویرایش]