Тип возвращаемого значения метода в базовом классе изменился.Как правильно реорганизовать дочерний метод, чтобы сохранить его текущий тип возвращаемого значения?
В следующем примере есть класс Database , который теперь возвращает date в виде простой строки .Класс наследования, с другой стороны, переопределяет getDate и все равно должен возвращать DateTime .
Примечание : реализация в базовом классеневозможно изменить.
Идея : переименование метода getDate в классе DoStuff .
class Database
{
public function getDate(): string
{
return '01-01-0001';
}
}
class DoStuff extends Database
{
public function getDate(): DateTime
{
return DateTime::createFromFormat('d-m-Y', parent::getDate());
}
}
Есть лилучшие практики для решения такой проблемы?Большое спасибо за помощь.