![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 168
|
Здравствуйте.
Почему я не могу обратится к символу на сцене допустим с идентификатором clip_mc, скажем из спрайта созданного в классе документа, через this.parent. При попытках мне возвращается ошибка: "Обращение к возможно не определенному свойству clip_mc в...". Из самого документ класса (this.clip_mc) можно обращаться сколько угодно. Почему так? |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 168
|
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
не должны дети знать своего родителя - нарушается принцип инкапсуляции и вообще ООП
__________________
Отряд Котовскага |
|
|||||
|
Представим что делаем сайт на флэше из 3-х страниц. Контент грузиться из xml файла. Я бы создал какой-нибудь Класс который все это загрузил и потом каждой страницей дёргал бы контент из этого Класса. В этому случае принцип ООП нарушается?
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
main.xmlLoader - грузит XML сообщает об этом в main. main обновляет инфу на страницах. Или при переключениях страниц main устанавливает текущую страницу (видимостями или всякими твинами не важно) и передаёт нужную часть xml текущей странице. Или при переключении страниц main устанавливает текущую страницу (видимостями или всякими твинами не важно) даёт команду xmlLoader-у загрузить xml и после загрузки передаёт её на текущую страницу. Или если использовать MVC - main (контроллер) подписывает страницы (виды) на изменение модели (id=текущая страница/ xml =данные) есть еще например кнопки меню - тоже виды - которые диспетчат события о переключении. контроллер меняет модель (id) виды при изменении текущей страницы переключаются (вернее их переключает переключатель страниц - который тоже может быть видом или составным) xmlLoader можно рассматривать в 2 ипостасях. как часть контроллера - он инициирует загрузку xml и изменяет данные модели (xml). либо сделать его тоже видом, который a) - слушает изменение модели (id) б) в ответ на a) загружает xml и вещает о загрузке. контроллер в этом случае слушает это событие и изменяет модель (xml) на это изменение подписаны страницы и соответственно изменяют своё состояние. ..итд итп. в общем способов куча и совершенно не обязательно страницам знать о каком то Главном классе. Кроме того можно передать ссылку, например, на данные. в случае MVC при инициализации Видов страниц можно им передавать ссылку на модель. Виды самостоятельно могут подписываться на изменение модели и/или брать оттуда данные. в вашем примере в качестве такой модели может выступить класс Content package { public class Page1 extends Page implements IPage { public var id:int=1; // лучше испоьзовать интерфейс IContent, особенно если страницы могут быть отдельными модульными swf. public var content: IContent ; // на самом деле эти методы были бы у меня в Page и в IPage public function Page1($content:IContent) { initPage($content); } public function initPage($content:IContent):void { content=IContent tf.text = сontent.getTextForPage(id); } }
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 11.03.2010 в 10:30. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
parent оставили открытым в угоду не-тру ООП программистам)
Я, например, практически нигде-никогда не использовал parent - не было необходимости..(из этого, правда, совсем не следует, что я тру ООП-программист))) объект должен быть как чёрный ящик - ничего кроме себя не знать, а когда логика объекта завязана на его использование это не есть гуд. типа: "если меня положат на диван - то я сплю, а если меня положили в гроб, то я умер)))" а что за принцип событийной модели?
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 10.03.2010 в 16:08. |
|
|||||
|
Что-то типа:
http://www.flasher.ru/forum/showthread.php?t=129557 Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:37. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| this.parent , видимость свойств |
|
|