برنامهنویسی شیءگرا یا OOP (Object-Oriented Programming) یک مهندسی نرمافزار است که بر اساس مفهوم اشیاء (Objects) و تعاملات بین آنها ساخته شده است. در OOP، نرمافزار به صورت اشیاء مدل میشود که هر اشیاء ویژگیها (Properties) و عملکردها (Methods) خود را دارند. این اشیاء میتوانند به عنوان نمایندههای واقعی یا مجازی برای موارد و مفاهیم واقعی در دنیای واقعی عمل کنند.
اصول اصلی OOP عبارتند از:
- تعریف کلاسها و اشیاء: برنامهنویس کلاسها را به عنوان قالبهایی برای ایجاد اشیاء تعریف میکند. کلاسها ویژگیها و رفتارهای مشترک را برای اشیاء تعریف میکنند.
- پلیمورفیسم (Polymorphism): این اصل به امکان استفاده از یک رابط یا کلاس پدر برای مدیریت اشیاء مختلف با ویژگیها و رفتارهای مشابه اشاره دارد. این اصل امکان ارتقاء قابلیتها و تعمیمبخشی کد را فراهم میکند.
- انتزاع (Abstraction): این اصل به کاهش پیچیدگی و جزئیات غیرضروری در یک سیستم اشاره دارد. برنامهنویس باید توانمند باشد تا از یک کلاس یا شیء به عنوان یک واحد منطقی استفاده کند، بدون آنکه جزئیات داخلی را نگران باشد.
- وراثت (Inheritance): این اصل به امکان ارثبری و وراثت ویژگیها و رفتارها از یک کلاس به کلاس دیگر اشاره دارد. این اصل به اشتراکگذاری کد و افزایش قابلیت بازگشتی کد کمک میکند.
- تعداد کم متد (Object Methods): هر اشیاء تعداد محدودی از متدها دارد که به وسیلهٔ آنها میتواند با دیگر اشیاء تعامل داشته باشد.
به کمک این اصول، OOP به برنامهنویسان این امکان را میدهد که به طور منطقی و سازماندهی شده به طراحی و توسعه نرمافزارهای پیچیده بپردازند و کدی قابلفهم، قابلتعمیم و بازدهی بالا ایجاد کنند. منبع