Странно что надо повторять, у Вас как будто фокус зрения никак не соберется на этой простой вещи:
Интерфейс не говорит о том, что можно сделать с объектом, какому методу его можно передавать и т.п.
Интерфейс описывает методы самого объекта, а не методы, которые будут использовать этот объект.
Интерфейс никак не может описать addChild(), который можно применить к его имплементатору.
Интерфейс вообще в принципе не для этого. Щелкните уже переключателем.
Добавлено через 3 минуты
Цитата:
|
Так как такой интерфейс как раз призван ибавить от кастов. Но получается то ради чего я бы это делал - не выполняется.
|
Он призван избавить от кастов в ситуации, когда нужно гарантировать наличие метода у объекта. Избавить от кастов, когда нужен аргумент определенного типа, он никак не может. Это не входит в его задачи. Интерфейс не подменяет тип данных. Он сам и есть тип данных.