برنامه نویسی شئ گرا Object-Oriented Programming

برنامه نویسی شئ گرا یا Object-Oriented Programming چیست؟

برنامه نویسی شئ گرا (Object-Oriented Programming) یا به اختصار OOP، یک مدل برنامه‌نویسی بر پایه‌ی مفهوم اشیاء (Object ها) می‌باشد. در مدل رایج این مفهوم، متغیرها و عملیات مرتبط با یک موضوع مشخص با کمک مفهوم کلاس‌ها به صورت کپسوله، در کنار یکدیگر و در قالب یک بسته‌بندی قرار می‌گیرد.

در برنامه‌نویسی شئ گرای مبتنی بر کلاس، هر شئ نمونه‌ای است از یک کلاس و داده‌های مربوط به هر شئ، ممکن است وابسته به خود آن شئ باشد (متغیرهای نمونه) یا برای تمامی اشیاء از همان نوع، ثابت و یکسان باشد (متغیرهای کلاس). از این متغیرها در برنامه‌نویسی شئ گرا تحت عنوان فیلد (field)، ویژگی یا خصوصیت (Attribute/Property) یاد می‌شود. رویه‌هایی که رفتار یا عملیات مرتبط با اشیاء را پیاده‌سازی می‌کنند معمولا متد (method) نامیده می‌شوند و همانند متغیرها به دو دسته‌ی متدهای نمونه و متدهای کلاس دسته‌بندی می‌شوند.

اشیا می‌توانند در دنیای واقعی معادل یک شئ حقیقی باشند و یا اینکه کاملا انتزاعی باشند. برای مثال، در یک نرم افزار ترسیم اشکال می‌توان دایره‌ها و مستطیل‌هایی که روی صفحه رسم می‌شوند را در قالب یک شئ به شمار آورد. در یک نرم افزار حسابداری نیز هر کارمند در شرکت یک شئ به شمار می‌رود. اگر تصور کنیم به عنوان مثال، هر کارمند نمونه‌ای از کلاسی با نام Employee باشد این کلاس می‌تواند دارای متغیرهایی برای نگه‌داری نام و نام خانوادگی کارمند، جنسیت، شماره حساب و … باشد. عملیات مرتبط با این اشیاء از جمله واریز حقوق به حساب کارمند نیز از متدهای این کلاس به شمار می‌رود.

در سایه‌ی برنامه‌نویسی شئ گرا می‌توان مفاهیمی چون وراثت و چندریختی را نیز تعریف نمود. اکثر زبان‌های برنامه نویسی امروزی نظیر C#، Visual Basic، PHP، C++، Java و … از شئ گرایی پشتیبانی می‌کنند. از مزایای استفاده از این مدل برنامه‌نویسی می‌توان به قابلیت استفاده‌ی مجدد، عیب‌یابی و نگه‌داری ساده‌تر، توسعه‌پذیری و کارایی بالاتر اشاره کرد.

واژه‌های مرتبط

کلاس Class کلاس یا Class چیست؟ کلاس (Class) در برنامه نویسی شئ گرا، نوعی قالب برنامه نویسی قابل گسترش است که برای ایجاد اشیاء، تعیین مقادیر اولیه‌ی وضعیت و مشخص...
وراثت Inheritance وراثت یا Inheritance چیست؟ وراثت (Inheritance) اصطلاحی در حوزه برنامه‌نویسی شئ‌گراست که در آن یک کلاس یا شئ بر مبنای یک کلاس یا شئ دیگر ساخته می‌شود ...
کپسوله سازی Encapsulation کپسوله سازی یا Encapsulation چیست؟ کپسوله سازی (Encapsulation) در برنامه نویسی رایانه‌ای، اصلاحی است که معمولا در مبحث کلاس‌ها و به عنوان یکی از اصول...
منبع باز Open Source منبع باز یا Open Source چیست؟ نرم افزار منبع باز یا متن باز (Open Source) به نرم افزارهایی گفته می‌شود که همراه با سورس کد عرضه می‌شوند و صاحب امتیاز...
آرایه انجمنی Associative array آرایه انجمنی یا Associative array چیست؟ آرایه انجمنی (Associative array) در زبان‌های برنامه‌نویسی یک نوع داده‌ی انتزاعی است متشکل از مجموعه‌ای از دوت...
بیسیک BASIC بیسیک یا BASIC چیست؟ بیسیک (BASIC) که مخفف عبارت Beginner's All-purpose Symbolic Instruction Code می‌باشد از جمله زبان‌های برنامه نویسی سطح بالاست که...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *