Sobes.tech
Back to questions
Junior — Middle
88

Какая основная цель создания абстрактных классов в объектно-ориентированном программировании?

Answer from AI

sobes.tech AI

Основная цель абстрактных классов — задать общий шаблон для группы связанных классов, определяя базовую структуру и поведение, но не реализуя все детали. Абстрактный класс нельзя инстанцировать напрямую, он служит для наследования и обязует дочерние классы реализовать определённые методы. Это помогает обеспечить единообразие и избежать дублирования кода.

Пример на PHP:

abstract class Animal {
    abstract public function makeSound();

    public function sleep() {
        echo "Спит...";
    }
}

class Dog extends Animal {
    public function makeSound() {
        echo "Гав!";
    }
}

$dog = new Dog();
$dog->makeSound(); // Выведет: Гав!
$dog->sleep();     // Выведет: Спит...