Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про PHP: final, class

Что такое final class?

Вопрос проверяет знание ограничений наследования и понимание, зачем иногда запрещают расширение классов.

Короткий ответ

final class — это класс, от которого нельзя наследоваться. Он полностью закрыт для расширения. Это гарантирует, что поведение класса не будет изменено через наследование. Часто используется для инфраструктурного или критичного кода.

Длинный ответ

В PHP разработчик может явно запретить наследование класса с помощью ключевого слова final.

1) Что означает final

Определение:
final class — это класс, который нельзя расширить с помощью extends.

final class Config {
    public function get(string $key): mixed {
        // ...
    }
}

Попытка наследования приведёт к ошибке.

2) Зачем делать класс final

Причины использования:

  • Защита инвариантов класса

  • Гарантия неизменного поведения

  • Упрощение поддержки кода

3) final class vs final method

Важно различать:

  • final class — нельзя наследоваться вообще

  • final method — нельзя переопределить конкретный метод

class Base {
    final public function run() {}
}

4) Где часто применяется

  • Value Object

  • DTO

  • Инфраструктурные классы

  • Безопасность и ядро системы

5) Минусы final class

  • Нельзя расширить поведение через наследование

  • Сложнее использовать в тестах без интерфейсов

Краткий вывод

final class стоит использовать, когда класс представляет законченную концепцию и не предназначен для расширения. Для гибкости его часто сочетают с интерфейсами.

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • PHP

    PHP

Ключевые слова

#final

#class

Подпишись на PHP Developer в телеграм

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.