Загрузка Screenshot_2022-09-21-10-13-45-22_4641ebc0df1485bf6b47ebd018b5ee76.jpg
На практике интерфейсы используются в двух взаимодополняющих случаях:
Чтобы позволить разработчикам создавать объекты разных классов, которые могут использоваться взаимозаменяемо, поскольку они реализуют один и тот же интерфейс или интерфейсы. Типичный пример - несколько служб доступа к базе данных, несколько платёжных шлюзов или разных стратегий кеширования. Различные реализации могут быть заменены без каких-либо изменений в коде, который их использует.
ок
пон
Вот что пробовал
<?php
interface Test{
public function get() : string;
}
class A implements Test{
public function get() : string{
return "test";
}
}
class B extends A implements Test{
public function get() : string{
return "test 2";
}
}
$a = new A();
$b = new B();
echo $a->get().PHP_EOL;
echo $b->get();
Ну блять не суть
если у тебя есть объекты нескольких классов, реализующих один интерфейс, то ты можешь их передавать куда-нибудь в другую часть программы и вызывать у этих обьектов функции, описанные в интерфейсе
это гарантирует что в классе объекта вызываемый метод объявлен, даже если у него пустое тело, то ты все равно не получишь ошибку о том, что не найдена функция
если класс реализует интерфейс, но не реализует его функцию
Fatal error: Class A contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Test::get) in /home/user/scripts/code.php on line 6
ты еблан))) я же пошутил, я не мип. я реакцию вашу проверял) убери меня.
Поздно, надо было молчать
ну поч