Back to questions
Junior — Middle
94
Объясни, что такое абстрактные классы в объектно-ориентированном программировании.
Companies where asked
ИНДИНС
Answer from AI
sobes.tech AI
Абстрактный класс — это класс, который не предназначен для создания экземпляров напрямую, а служит как базовый класс для других классов. Он может содержать как реализованные методы, так и абстрактные (без реализации), которые должны быть переопределены в наследниках.
В PHP абстрактный класс объявляется с помощью ключевого слова abstract. Если класс содержит хотя бы один абстрактный метод, он должен быть объявлен как абстрактный.
Пример:
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(); // Выведет "Спит..."
Абстрактные классы помогают создавать общий интерфейс и базовую функциональность для группы связанных классов.