Может ли абстрактный класс содержать private методы?

Ответ

Да, абстрактный класс может содержать private обычные (не абстрактные) методы:

abstract class Base {
    private function helper(): string {
        return 'internal logic';
    }

    public function process(): string {
        return $this->helper();
    }

    abstract public function execute(): void;
}

Однако private абстрактный метод не имеет смысла и вызовет ошибку - наследник не сможет его переопределить. Абстрактные методы должны быть public или protected.

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