Часто ли Вы используете абстрактные классы в PHP?
И в каких случаях? Есть такой пример, причем абстрактный класс вообще не понятно зачем тут использован:
<?php
abstract class AbstractClass
{
// Наш абстрактный метод должен определять только необходимые аргументы
abstract protected function prefixName($name);
}
class ConcreteClass extends AbstractClass
{
// Наш дочерний класс может также определять необязательные аргументы, не указанные в сигнатуре родительского метода
public function prefixName($name, $separator = ".") {
if ($name == "Pacman") {
$prefix = "Mr";
} elseif ($name == "Pacwoman") {
$prefix = "Mrs";
} else {
$prefix = "";
}
return "{$prefix}{$separator} {$name}";
}
}
$class = new ConcreteClass;
echo $class->prefixName("Pacman"), "\n";
echo $class->prefixName("Pacwoman"), "\n";
?>