برنامه نویسی شئ گرا Object-Oriented Programming
برنامه نویسی شئ گرا یا Object-Oriented Programming چیست؟
برنامه نویسی شئ گرا (Object-Oriented Programming) یا به اختصار OOP، یک مدل برنامهنویسی بر پایهی مفهوم اشیاء (Object ها) میباشد. در مدل رایج این مفهوم، متغیرها و عملیات مرتبط با یک موضوع مشخص با کمک مفهوم کلاسها به صورت کپسوله، در کنار یکدیگر و در قالب یک بستهبندی قرار میگیرد.
در برنامهنویسی شئ گرای مبتنی بر کلاس، هر شئ نمونهای است از یک کلاس و دادههای مربوط به هر شئ، ممکن است وابسته به خود آن شئ باشد (متغیرهای نمونه) یا برای تمامی اشیاء از همان نوع، ثابت و یکسان باشد (متغیرهای کلاس). از این متغیرها در برنامهنویسی شئ گرا تحت عنوان فیلد (field)، ویژگی یا خصوصیت (Attribute/Property) یاد میشود. رویههایی که رفتار یا عملیات مرتبط با اشیاء را پیادهسازی میکنند معمولا متد (method) نامیده میشوند و همانند متغیرها به دو دستهی متدهای نمونه و متدهای کلاس دستهبندی میشوند.
اشیا میتوانند در دنیای واقعی معادل یک شئ حقیقی باشند و یا اینکه کاملا انتزاعی باشند. برای مثال، در یک نرم افزار ترسیم اشکال میتوان دایرهها و مستطیلهایی که روی صفحه رسم میشوند را در قالب یک شئ به شمار آورد. در یک نرم افزار حسابداری نیز هر کارمند در شرکت یک شئ به شمار میرود. اگر تصور کنیم به عنوان مثال، هر کارمند نمونهای از کلاسی با نام Employee باشد این کلاس میتواند دارای متغیرهایی برای نگهداری نام و نام خانوادگی کارمند، جنسیت، شماره حساب و … باشد. عملیات مرتبط با این اشیاء از جمله واریز حقوق به حساب کارمند نیز از متدهای این کلاس به شمار میرود.
در سایهی برنامهنویسی شئ گرا میتوان مفاهیمی چون وراثت و چندریختی را نیز تعریف نمود. اکثر زبانهای برنامه نویسی امروزی نظیر C#، Visual Basic، PHP، C++، Java و … از شئ گرایی پشتیبانی میکنند. از مزایای استفاده از این مدل برنامهنویسی میتوان به قابلیت استفادهی مجدد، عیبیابی و نگهداری سادهتر، توسعهپذیری و کارایی بالاتر اشاره کرد.