کلاس (برنامه‌نویسی): تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جز جایگزینی با اشتباه‌یاب: پشتیانی⟸پشتیبانی
بدون خلاصۀ ویرایش
برچسب‌ها: ویرایش همراه ویرایش از وبگاه همراه ویرایش پیشرفتهٔ همراه
خط ۱:
در [[مهندسی نرم‌افزار]] و [[مهندسی دانش]]، '''کلاس''' نقشهٔ نوعی و مشترک برای گروهی از [[شی (برنامه‌نویسی)|اشیاء]]<ref>Objects</ref> است که ویژگی‌های<ref>Properties</ref> مشترکی داشته، و رفتارهای مشترکی از خود نشان می‌دهند. درواقع، کلاس‌ها انواعی هستند که شخص [[برنامه‌نویس]]، خود می‌تواند، آن‌ها را برای حل مسئله‌های دنیای واقعی طراحی کند، و حاوی تعریف‌های لازم برای دو عنصر اساسی زیر می‌باشند:
* [[داده‌ها]]، یا [[صفات]]
* عملیات، یا روش‌ها
 
اشیاءاشیاء، نمونه‌هایی هستند که به هنگام اجرا از روی نقشهٔ ارائه شده به‌وسیلهٔ کلاس ایجاد می‌شوند. می‌توان گفت همان‌طور که [[متغیر]] نمونه‌ای از انواع اولیه است، شیء نمونه‌ای از کلاس است. (۱)
 
یک ''کلاس''، یک مفهوم بسط‌یافته از ساختمان است که به جای این که، فقط داده‌ها را نگه‌داری کند، می‌تواند هم داده‌ها و هم توابع را با هم نگه‌داری کند<ref>{{یادکرد کتاب|عنوان=برنامه سازي پيشرفته با ++C|نام خانوادگی=دكتر بابك بشري راد|نام=|ناشر=ناقوس|سال=1394|شابک=978-964-377-746-3|مکان=تهران|صفحات=117}}</ref>.
خط ۱۰:
برنامه‌نویسی شیءگرا، داده‌ها (خواص) و متدها (رفتارها) را در بسته‌هایی به نام کلاس محصور می‌کند.<ref name="Encapsulation">Encapsulation</ref> کلاس‌ها دارای خاصیت کپسوله سازی<ref name="Encapsulation"/> هستند. این بدان معناست که اشیاء می‌دانند که چگونه از طریق رابط‌های تعریف‌شده با یکدیگر ارتباط برقرار کنند. معمولاً، اشیاء نباید از چگونگی پیاده‌سازی اشیاء دیگر مطلع باشند، به‌عبارت دیگر، جزئیات پیاده‌سازی در داخل خود اشیاء پنهان شده‌اند.
 
مثال: رانندگی خودرو بدون اطلاع از خصوصیات طرز کار داخلی موتور و سیستم‌های اگزوز و جعبه‌دنده امکان‌پدیرامکان‌پذیر است. در مهندسی نرم‌افزار ضرورت پنهان‌سازی اطلاعات امری بسیار مهم هست. {{مدرک|}}
 
در زبان‌های رویه‌ای<ref>Procedural</ref> برنامه‌نویسی، مثل [[زبان سی]] (C)، برنامه‌نویسی، بیشتر عملگرایانه<ref>Action oriented</ref> است. درحالی‌که، زبان‌های برنامه‌نویسی [[سی‌پلاس‌پلاس]] (++C)، [[جاوا (زبان برنامه‌نویسی)|جاوا]] (Java)، و [[سی‌شارپ]] (#C) دارای پارادایم شیءگرایانه هستند. واحد برنامه‌نویسی در زبان‌های رویه‌ای تابع است، ولی، زبان‌های شی گرا دارای کلاس‌ها - که اشیاء نهایتاً از آنها ایجاد می‌شوند (یا اصطلاحاً نمونه‌سازی می‌شوند) - به عنوان واحد برنامه‌نویسی هستند. توابع نیز در داخل کلاس‌ها به عنوان متدهایی پیاده‌سازی می‌شوند.
 
برنامه‌نویسان C بیشتر بر روی نوشتن توابع متمرکز هستند. گروه‌هایی از اعمال که وظیفهٔ خاصی را بر عهده دارند، توابع را تشکیل می‌دهند و توابع گروه شده و برنامه را تشکیل می‌دهند. البته در زبان c داده‌ها نیز مهم هستند، اما نگرش اصلی در اینگونه زبان‌ها این است که داده‌ها بیشتر برای پشتیبانی اعمالی که توابع انجام می‌دهند به کار می‌روند. (۲)
 
== متغیرها ==