Чат Telegram
Группа ВКонтакте
Новый комментарий


DmitryGavrilov 21.09.2018 в 13:58

Добрый день! Опишите пожалуйста подробно зачем мы сюда еще добавили интерфейс, думаю у многих есть вопрос "Зачем тут интерфейс?)) И так же все работает!". Было бы чудесно добавить пример где этот добавленный интерфейс используется и без него никак. Спасибо!

ivashkevich 22.09.2018 в 20:35

В дальнейших уроках это будет использоваться, пока просто рассказываю о возможностях языка =)

DmitryGavrilov 22.09.2018 в 22:50

Понял, благодарю, просто хочется сразу все знать)

Bogdan 05.01.2019 в 13:28

ну ладно вопрос зачем тут добавили, у меня вообще возник вопрос, нафига нужен тот интерфейс?! по факту на сегодняшний урок я вижу большие плюсы в трейтах, а именно написание кучу методов и потом что б все классы черпали их. А вот нафига интерфейс, не знаю. Какой-то дополнительный файл с дублированием методов, пару лишних килобайт добавляет проекту )))

Bogdan 05.01.2019 в 13:55

сейчас пообщался со знакомыми и слегка иначе начал думать, не знаю правильно ли, но я так понимаю что когда большой проект, изначально пишется интерфейс ( набор инструкций(методов)), а потом уже при создании классов что б что-то не провтыкать то имплементится интерфейс, правильно я понял?))

ivashkevich 05.01.2019 в 21:12

Урок про интерфейсы просмотри ещё разок. Если будет непонятно - напиши в личку

vtolstov 16.09.2019 в 12:49

Может кому пригодится: класс - машина. ситуация: застряла. методы: "отъехать назад", "ехать вперед". Метод "отъехать назад" реализован через интерфейс. Естественно оба метода находятся в трейтах, так как доступны для всех объектов и других классов похожих на "машину".
И тут как раз включается вся эта логика: если объект класса "машина" реализует интерфейс "отъехать назад", то через трейт используем метод "отъехать назад" и работаем дальше. А если не реализует и метод "ехать вперед" ничего не дает, то выводим сообщение "мы застряли".
Это скорей всего частный случай, и конечно это лично мое понимание этой логики. Возможно не прав. Прошу поправить.

ivashkevich 16.09.2019 в 18:48

Не люблю абстракции программирования перекладывать на реальный мир. Трейт - это просто кусок кода, который можно использовать в нескольких местах.

vtolstov 17.09.2019 в 05:39

Согласен с вами. В первом уроке вы тоже сравнили понятие класса с реальным миром. Я провел такую же аналогию только чтобы новичкам было проще понять суть связки трейта и интерфейса.

iluha22 18.10.2019 в 10:29

Опять получается некий компромис. Вроде создаем определенную зависимость и логику, и тут же трейты - долой ограничения! :)

ivashkevich 18.10.2019 в 10:46

Не понял, какие ограничения?

iluha22 18.10.2019 в 11:15

Цитирую:

В PHP класс может наследоваться только от одного класса, помните?
Так вот с помощью интерфейсов и трейтов мы можем это ограничение немного обойти.

ivashkevich 18.10.2019 в 12:31

Аа. Ну это не наследование всё же, но неиспользование кода.

Логические задачи с собеседований