Цитата:
|
ну и IBitmapdrawable - как раз "меня можно отрисовать в битмапу".
|
Я так долго распространялся про маркеры, что уже не хочу повторяться. IBitmapdrawable как маркер гарантирует только
слепое согласие компилятора. Он никак не может проверить, действительно ли экземпляр IBitmapDrawable можно отрисовать. Это контракт между кодом и программистом. Точно также вы можете написать пустой интерфейс IAsChildAddable, принимать его и смело кастовать в ДО (так же по смыслу как отдается IBitmapDrawable методу draw(), ибо САМ компилятор так и не знает, действительно ли там есть что рисовать, или это наследник Event с приписанной ему имплементацией интерфейса).
Цитата:
|
addCommand(command:IExecutable );
|
Замечательно, и я, и все поступают так же, для этого и созданы интерфейсы, верно? Ведь Ваш IExecutable описывает метод execute(), вызываемый
у экземпляра, а не над ним. Он не описывает метод addCommand(command:IExecutable), который можно применить к нему, а не вызвать у него. Так же, как и addChild.