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

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

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

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

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

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

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

دستور GOTO دستور GOTO چیست؟ GOTO (به معنای "برو به ...") عنوان دستوری است که در بسیاری از زبان‌های برنامه‌نویسی به منظور انتقال کنترل به خط دیگری از کد مورد است...
زبان برنامه نویسی سطح بالا High-level Programming ... زبان برنامه نویسی سطح بالا یا High-level Programming Language چیست؟ زبان برنامه نویسی سطح بالا (High-level Programming Language) به گونه‌ای از زبان ه...
آرایه انجمنی Associative array آرایه انجمنی یا Associative array چیست؟ آرایه انجمنی (Associative array) در زبان‌های برنامه‌نویسی یک نوع داده‌ی انتزاعی است متشکل از مجموعه‌ای از دوت...
وراثت Inheritance وراثت یا Inheritance چیست؟ وراثت (Inheritance) اصطلاحی در حوزه برنامه‌نویسی شئ‌گراست که در آن یک کلاس یا شئ بر مبنای یک کلاس یا شئ دیگر ساخته می‌شود ...
منبع باز Open Source منبع باز یا Open Source چیست؟ نرم افزار منبع باز یا متن باز (Open Source) به نرم افزارهایی گفته می‌شود که همراه با سورس کد عرضه می‌شوند و صاحب امتیاز...
عملگر بیتی Bitwise Operator عملگر بیتی یا Bitwise Operator چیست؟ عملگر بیتی (Bitwise Operator) به عملگرهایی گفته می‌شود که عملی را روی یک یا چند عدد باینری در سطح بیت هایشان انج...

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

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