У меня есть в директории models 3 файла. В первом файле написан интерфейс Model, в другом класс Cat, a в 3 класс Dog, которые этот интерфейс имплементируют. Потом я создал второю директорию где таким же способом создал интерфейс и классы имплементирующие его, но они называются DAO и CatDAO с DogDAO. В DAO интерфейсе я создал метод
public function writeNameOfObj(Model $obj);
А теперь мне надо имплементировать эти методы, но мне надо написать writeNameOfObj(Cat $obj) и writeNameOfObj(Dog $obj) соответственно. Вопрос в том как это сделать.
Цитата из документации:
Объявления методов в классе, реализующем интерфейс, должны точно совпадать с объявлениями, используемыми в интерфейсе, в противном случае будет вызвана фатальная ошибка.
Поэтому так, как Вы хотите, сделать нельзя
Сборка персонального компьютера от Artline: умный выбор для современных пользователей