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