В чем смысл интерфейсов в PHP?


интерфейсы позволяет создавать код, который определяет методы классов, которые его реализуют. Однако вы не можете добавить код к этим методам.

абстрактные классы позволяют делать то же самое, наряду с добавлением кода в метод.

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

Мне сказали, что это связано с теорией OO от C++ до Java, на котором основан материал OO PHP. Является ли концепция полезной в Java, но не в PHP? Это просто способ уберечься от того, чтобы заполнители были замусорены в абстрактном классе? Я что-то упустил?

1 205

1 ответ:

весь смысл интерфейсов заключается в том, чтобы дать вам гибкость, чтобы ваш класс был вынужден реализовать несколько интерфейсов, но все же не разрешать множественное наследование. Проблемы с наследованием от нескольких классов много и разнообразны и Википедия страница на нем подводит их довольно хорошо.

интерфейсы-это компромисс. Большинство проблем с множественным наследованием не относится к абстрактным базовым классам, поэтому большинство современных языков в наши дни отключены множественное наследование все же вызывает абстрактные интерфейсы базовых классов и позволяет классу "реализовать" столько из них, сколько они хотят.