Object-Oriented Programming یا OOP رویکردی برای سازمان‌دهی کد بر پایه آبجکت‌ها، وضعیت و رفتار آن‌هاست. کلاس، کپسوله‌سازی، چندریختی و قراردادهای نوعی از مفاهیم مهم آن هستند.

از تعریف تا کاربرد

یک سیستم سفارش می‌تواند Product، Order و Payment را با مسئولیت‌های مستقل مدل کند. هدف این نیست که هر مقدار یا تابع را به اجبار داخل کلاس قرار دهیم.

آبجکت‌گرایی یکی از پارادایم‌های برنامه‌نویسی است، نه راهکار اجباری همه مسائل. ساختار داده و طراحی تابعی در کنار آن نیز کاربرد دارند.

نمونه آبجکت‌گرایی در فروشگاه

final class CartItem
{
    public function __construct(
        public readonly int $unitPrice,
        public readonly int $quantity,
    ) {}

    public function subtotal(): int
    {
        return $this->unitPrice * $this->quantity;
    }
}

آبجکت‌گرایی فقط ساختن کلاس‌های متعدد نیست. اصل مهم این است که داده و رفتار مرتبط در مرز مناسب قرار بگیرند و وابستگی‌ها کنترل شوند.