کلاس (برنامهنویسی): تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز جایگزینی با اشتباهیاب: پشتیانی⟸پشتیبانی |
بدون خلاصۀ ویرایش برچسبها: ویرایش همراه ویرایش از وبگاه همراه ویرایش پیشرفتهٔ همراه |
||
خط ۱:
در [[مهندسی نرمافزار]] و [[مهندسی دانش]]، '''کلاس''' نقشهٔ نوعی و مشترک برای گروهی از [[شی (برنامهنویسی)|اشیاء]]<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) دارای پارادایم شیءگرایانه هستند. واحد برنامهنویسی در زبانهای رویهای تابع است، ولی، زبانهای شی گرا دارای کلاسها - که اشیاء نهایتاً از آنها ایجاد میشوند (یا اصطلاحاً نمونهسازی میشوند) - به عنوان واحد برنامهنویسی هستند. توابع نیز در داخل کلاسها به عنوان متدهایی پیادهسازی میشوند.
برنامهنویسان
== متغیرها ==
|