Ответ
В PHP нельзя напрямую создать объект абстрактного класса. Абстрактный класс нужен для наследования - от него можно создать дочерний класс, который реализует все абстрактные методы родителя.
Пример:
abstract class Animal {
abstract public function makeSound();
}
class Dog extends Animal {
public function makeSound() {
echo "Гав!";
}
}
$dog = new Dog(); // Работает
// $animal = new Animal(); // Ошибка!
Ключевые моменты:
- Абстрактный класс может содержать как абстрактные методы (без реализации), так и обычные
- Дочерний класс обязан реализовать все абстрактные методы родителя
- Абстрактный класс может содержать свойства и константы