У меня есть этот код:Почему дочерний метод имеет те же параметры, что и родительский метод?
abstract class Base{
public function delete(){
// Something like this (id is setted in constructor)
$this->db->delete($this->id);
}
}
Тогда у меня есть еще один класс, который расширяет базу, например:
class Subtitles extends Base{
public function delete($parameter){
parent::delete();
// Do some more deleting in transaction using $parameter
}
}
который также случается иметь метод удаления.
Здесь возникает проблема:
Когда я называю
$subtitles->delete($parameter)
я получаю:
Strict error - Declaration of Subtitles::delete() should be compatible with Base::delete()
Так что мой вопрос, почему я не могу иметь метод потомка с разные параметры?
Благодарим вас за разъяснение.
+ для обеспечения обходного пути. –
Ну, это сложнее, но я понимаю. Спасибо. –