Antony, спасибо! Т.е. грубо говоря, я могу по идее создавать абстрактные классыв чисто для того, чтобы потом просто заглянуть внутрь класса, и сразу увидеть все свойства и методы? Даже если я наследую от него только один единственный класс?
SagePtr, это я понимаю :) Но на практике я пока не сталкивался с ситуациями, когда тайп хинтинг действительно был бы нужен. Я не понимаю чего на этом все так упарываются))
пример кода, который я привел - использует DI, а когда я активно использую DI, интерфейсы могут иметь практический смысл, ибо я могу их внедрять вместо реализующих классов (насколько я понял).
и это пока единственный практический смысл использования интерфейсов, который я обнаружил.
я пытаюсь узнать теперь, есть ли еще какие-то смыслы в применении интерфейсов?
это как-никак - сущность ООП, и зачем-то ведь она нужна?
пример кода, который я привел - использует DI, а когда я активно использую DI, интерфейсы могут иметь практический смысл, ибо я могу их внедрять вместо реализующих классов (насколько я понял).
и это пока единственный практический смысл использования интерфейсов, который я обнаружил.
я пытаюсь узнать теперь, есть ли еще какие-то смыслы в применении интерфейсов?
это как-никак - сущность ООП, и зачем-то ведь она нужна?