Remove ads
From Wikipedia, the free encyclopedia
در مهندسی نرمافزار و مهندسی دانش، کلاس نقشهٔ نوعی و مشترک برای گروهی از اشیاء[۱] است که ویژگیهای[۲] مشترکی داشته، و رفتارهای مشترکی از خود نشان میدهند. درواقع، کلاسها انواعی هستند که شخص برنامهنویس، خود میتواند، آنها را برای حل مسئلههای دنیای واقعی طراحی کند، و حاوی تعریفهای لازم برای دو عنصر اساسی زیر میباشند:
اشیاء، نمونههایی هستند که به هنگام اجرا از روی نقشهٔ ارائه شده بهوسیلهٔ کلاس ایجاد میشوند. میتوان گفت همانطور که متغیر نمونهای از انواع اولیه است، شیء نمونهای از کلاس است.
کلاس، مفهوم بسطیافته از ساختمان است که به جای این که، فقط دادهها را نگهداری کند، میتواند هم دادهها و هم توابع را با هم نگهداری کند[۳].
[1]. class
برنامهنویسی شیءگرا، دادهها (خواص) و متدها (رفتارها) را در بستههایی به نام کلاس محصور میکند.[۴] کلاسها دارای خاصیت کپسوله سازی[۴] هستند. این بدان معناست که اشیاء میدانند که چگونه از طریق رابطهای تعریفشده با یکدیگر ارتباط برقرار کنند. معمولاً، اشیاء نباید از چگونگی پیادهسازی اشیاء دیگر مطلع باشند، بهعبارت دیگر، جزئیات پیادهسازی در داخل خود اشیاء پنهان شدهاند.
مثال: رانندگی خودرو بدون اطلاع از خصوصیات طرز کار داخلی موتور و سیستمهای اگزوز و جعبهدنده امکانپذیر است. در مهندسی نرمافزار ضرورت پنهانسازی اطلاعات امری بسیار مهم هست. [۵]
در زبانهای رویهای[۶] برنامهنویسی، مثل زبان سی (C)، برنامهنویسی، بیشتر عملگرایانه[۷] است. درحالیکه، زبانهای برنامهنویسی سیپلاسپلاس (++C)، جاوا (Java)، و سیشارپ (#C) دارای پارادایم شیءگرایانه هستند. واحد برنامهنویسی در زبانهای رویهای تابع است، ولی، زبانهای شی گرا دارای کلاسها - که اشیاء نهایتاً از آنها ایجاد میشوند (یا اصطلاحاً نمونهسازی میشوند) - به عنوان واحد برنامهنویسی هستند. توابع نیز در داخل کلاسها به عنوان متدهایی پیادهسازی میشوند.
برنامهنویسان C، بیشتر بر روی نوشتن توابع متمرکز هستند. گروههایی از اعمال که وظیفهٔ خاصی را بر عهده دارند، توابع را تشکیل میدهند و توابع گروه شده و برنامه را تشکیل میدهند. البته در زبان c دادهها نیز مهم هستند، اما نگرش اصلی در اینگونه زبانها این است که دادهها بیشتر برای پشتیبانی اعمالی که توابع انجام میدهند به کار میروند.
مقالهٔ اصلی: متغیرها
همواره، متغیرها سه صفت عمده را دارا هستند: اسم، نوع، و مقدار. چنانچه اشیاء را گونه امتداد یافتهٔ متغیرها بدانیم، کلاس در واقع نوع (Type) را مشخص میکند
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.