Что такое четвертый принцип ООП?

«Что такое четвертый принцип ООП?» — вопрос из категории ООП, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В классической формулировке четырех принципов ООП четвертым является инкапсуляция. Иногда в качестве четвертого принципа также называют абстракцию, что создает терминологическую путаницу.

Инкапсуляция — это механизм, объединяющий данные и методы, которые с ними работают, и ограничивающий прямой доступ к внутреннему состоянию объекта. Это реализуется через модификаторы доступа (public, protected, private).

Пример на PHP:

class BankAccount {
    private float $balance = 0.0;

    public function deposit(float $amount): void {
        if ($amount > 0) {
            $this->balance += $amount;
        }
    }

    public function getBalance(): float {
        return $this->balance;
    }
}

$account = new BankAccount();
$account->deposit(100.50);
// Прямой доступ к $balance невозможен: $account->balance = -100; // Fatal error

Абстракция как принцип — это выделение существенных характеристик объекта, игнорируя нерелевантные детали реализации. На практике она выражается через абстрактные классы и интерфейсы.

Пример абстракции:

interface PaymentProcessor {
    public function process(float $amount): bool;
}

class StripeProcessor implements PaymentProcessor {
    public function process(float $amount): bool {
        // Детали интеграции со Stripe скрыты
        return true;
    }
}

Важно не путать эти базовые принципы ООП с принципами SOLID, где четвертым является Interface Segregation Principle (ISP) — принцип разделения интерфейсов.