Показать сообщение отдельно
Старый 20.11.2011, 19:48
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 26  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А мне это совсем понятно.
Что такое DisplayObject? Объект, который можно добавить в дисплай-лист и визуализировать средствами рендера у флеш плеера.
Любой DisplayObject это IDisplayObject. Но и любой IDisplayObject это DisplayObject. Зачем делать интерфейс? Незачем. Он лишний. Только чтобы в исключительной ситуации наследовать интерфейсы, вместо использования "as".
Теперь понял.
отсутсвтие интерфейса - это такая защита от попыток "имплементировать" нативные функции.

Но зачем обобщать её, и говорить что везде, где с объектом надо что-то сделать непременно нужно использовать только наследники базовых классов? Так же не получится. Если мой класс смог реализовать мой(ненативынй) интерфейс - значит его можно передать в качестве параметра.

Цитата:
Насчет "замечательно" — сомнительно, т.к. дает возможность легко сломать компонент (например по незнанию или по неосторожности). Придется как в spark контейнерах перекрывать addChild / removeChild и т.д., в случаях если используются собственные методы добавления детей.
Никто не говорил, что оно идеальное. Все как всегда зависит от конкретной ситуации.

Цитата:
Именно в сознании программиста IComponent является DisplayObject
Не хотите - не расширяйте. Просто делаем компонент - не дисплей-объект и у него поле displayObject, которое добавляем. Или отодрать displayObject от компонента? Да ну, это какой-то уожос получается.

Цитата:
Интерфейс говорит "ЯМогуПожаритьКартошку", но никак не "МеняМожноЖаритьКакКартошку"
Медитирую...
Ухожу из дискуссии, пока медитация не даст результатов (пока не особо)


Последний раз редактировалось expl; 20.11.2011 в 19:56.