Почему не работает код? Помогите разобраться почему не работает код:interface BaseLogger{ public function baselog($param1, $param2);} interface Logger implements BaseLogger { private function log(); } class MyLog implements Logger { public function baselog(){} public function log(){}}
Нельзя объявлять методы как private в интерфейсе. Методы в интерфейсе всегда должны быть public.Нельзя использовать implements для расширения интерфейса. Вместо этого нужно использовать extends для наследования интерфейса.Метод baselog() в классе MyLog не принимает необходимые параметры $param1 и $param2, указанные в интерфейсе.
Исправленный код будет выглядеть следующим образом:
interface BaseLogger { public function baselog($param1, $param2); } interface Logger extends BaseLogger { public function log(); } class MyLog implements Logger { public function baselog($param1, $param2) {} public function log() {} }
После внесения этих изменений код должен работать правильно.
В данном коде есть несколько ошибок:
Нельзя объявлять методы как private в интерфейсе. Методы в интерфейсе всегда должны быть public.Нельзя использовать implements для расширения интерфейса. Вместо этого нужно использовать extends для наследования интерфейса.Метод baselog() в классе MyLog не принимает необходимые параметры $param1 и $param2, указанные в интерфейсе.Исправленный код будет выглядеть следующим образом:
interface BaseLogger {public function baselog($param1, $param2);
}
interface Logger extends BaseLogger {
public function log();
}
class MyLog implements Logger {
public function baselog($param1, $param2) {}
public function log() {}
}
После внесения этих изменений код должен работать правильно.