Цитата:
|
"Интерфейс определяет поведение" тоже не понимаю.
|
Хорошо, другими словами – интерфейс описывает методы экземпляра. Это понятно? Он никак не описывает, что по отношению к экземпляру можно сделать, например, addChild(). Мало того,
сам класс ДО этого тоже не описывает. Это подразумевается на уровне контейнера, который в метод addChild принимает только ДО. И всё. Если бы addChild принимал интерфейс, о чем вы так мечтаете, то всеравно вы никак не смогли бы описать этот факт в интерфейсе, только в сигнатуре метода addChild() класса DOC – совершенно в другом месте. Интерфейс не описывает методы других объектов по отношению к данному. Вы выворачиваете порядок наизнанку, отсюда и вывернутые методы-"решения" addAsChildTo(DOC).