Итак, я супер новичок в ООП и Java – в частности, только заканчиваю свой первый семестр.
Я понимаю, что интерфейсы сродни контрактам, и понимаю их использование; точно так же я понимаю кастинг и т.д. Я понимаю, что вы можете привести к интерфейсу, но я не понимаю, зачем вам это нужно. Я проверил несколько книг, несколько сайтов, прочитал несколько аргументов на эту тему на SO, но до сих пор не понял, в чем смысл этого.
В частности: если бы у вас был интерфейс с именем Forecastable
и два класса, Погода
и Фондовый рынок
, оба из которых реализованы Прогнозируемые
— и, следовательно, должен иметь методы интерфейса, и, следовательно, любой объект, созданный в них, имеет доступ к этим методам по определению – тогда каково было бы фактическое использование приведения либо некоторых Является ли
или Фондовый рынок
объект подлежит Прогнозированию
, если они оба уже могут получить доступ к этим методам по своей сути?
Оригинал: “https://dev.to/alephnaught2tog/eli5-why-cast-to-an-interface-1gi”