Что такое final класс и final метод?

Ответ
// final класс - нельзя наследовать
final class Singleton {
    private static ?self $instance = null;
    public static function getInstance(): self {
        return self::$instance ??= new self();
    }
}
// class Child extends Singleton {} // Fatal error!

// final метод - нельзя переопределять в наследниках
class Base {
    final public function critical(): void { /* ... */ }
}
class Child extends Base {
    // public function critical(): void {} // Fatal error!
}

Используйте final когда наследование может сломать логику. В DDD часто Entity и Value Object делают final.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.