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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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