کلاس (برنامهنویسی)
از ویکیپدیا، دانشنامهٔ آزاد.
در مهندسی نرمافزار و مهندسی دانش کلاس نقشهٔ نوعی و مشترک برای گروهی از اشیاء است که ویژگیهای مشترکی داشته، و رفتارهای مشترکی از خود نشان میدهند. کلاسها، که در واقع، انوع جدیدی هستند که شخص برنامهنویس، خود آنها را برای حل مسئلههای دنیای واقعی طراحی میکند، حاوی تعریفهای لازم برای دو عنصر اساسی میباشند:
- دادهها، یا صفات
- عملیات، یا روشها
اشیاء نمونههایی هستند که به هنگام اجراء از روی نقشهٔ ارائه شده به وسیلهٔ کلاس ایجاد می شوند. میتوان گفت همانطور که متغیر نمونهای از انواع اولیه است، شیء نمونهای از کلاس است. (۱)
برنامهنویسی شیء گرا، دادهها (خواص) و متدها (رفتارها) را در بستههایی به نام کلاس ( class )محصور میکند (encapsulate). کلاسها دارای خاصیت پنهانسازی اطلاعات (information hiding) هستند. این بدان معناست که اشیاء میدانند که چگونه از طریق رابطهای تعریق شده با یکدیگر ارتباط برقرار کنند. اشیاء معمولا نباید از چگونگی پیاده سازی اشیاء دیگر مطلع باشند و به عبارت دیگر جزئیات پیادهسازی در داخل خود اشیاء پنهان شدهاند.
مثال: رانندگی خودرو بدون اطلاع از خصوصیات طرز کار داخلی موتور و سیستمهای اگزوز و جعبهدنده امکانپدیر است. ضرورت پنهانسازی اطلاعات در مهندسی نرمافزار امری بسیار مهم هست.
در زبانهای برنامهنویسی رویهای (procedural) مثل زبان c، برنامهنویسی، بیشتر عملگرایانه (action oriented) است. در حالیکه برنامهنویسی C++ شیءگرایانه است. واحد برنامهنویسی در c تابع است ولی در C ++ کلاسها - که اشیاء نهایتا از آنها ایجاد میشوند ( یا اصطلاحا نمونهسازی میشوند) - واحد برنامهنویسی را تشکیل میدهند. توابع نیز در داخل کلاسها به عنوان متدهایی محصور میشوند. برنامهنویسان c بیشتر بر روی نوشتن توابع متمرکز هستند. گروههایی از اعمال که وظیفهی خاصی را بر عهده دارند، توابع را تشکیل میدهند و توابع گروه شده و برنامه را تشکیل میدهند. البته در زبان c دادهها نیز مهم هستند، اما نگرش اصلی در اینگونه زبانها این است که دادهها بیشتر برای پشتیانی اعمالی که توابع انجام میدهند به کار میروند.(۲)
فهرست مندرجات |
[ویرایش] متغیرها
مقالۀ اصلی: متغیرها
همواره، متغیرها سه صفت عمده را دارا هستند: اسم، جنس، و مقدار. چنانچه اشیاء را گونه امتداد یافته متغیرها بدانیم، کلاس در واقع جنس یا نوع را مشخص میکند
[ویرایش] جستارهای وابسته
[ویرایش] پیوندهای بیرونی
[ویرایش] منبع
۱- برنامه نویسی به زبان C++، تالیف عین ا... جعفر نژاد قمی ۲- Visual c++ .NET برای برنامهنویسان پیشرفته
- جاوا: چگونه آن را برنامهنویسی کنیم (چاپ هفتم) (انگلیسی)