Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.06.2011, 10:46
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 1  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
По умолчанию Необходимость наследовать 2 класса

Здравствуйте. Столкнулся с такой проблемой. Во флеше создал 10 мувиклипов инструментов. Каждый из них привязал к разным классам: "ИмяИнструментаMC". Из этого всего дела создаю swc. Чтобы оперировать этими клипами во FlashDevelop создаю (в FD) 10 классов "ИмяИнструмента" и наследую их от соответствующего каждому "ИмяИнструментаMC". Все какбудто просто. НО!!! Надо сделать так, чтобы каждый из этих классов "ИмяИнструмента" был унаследован от одного класса "Tool" - контейнера со свойствами для этих классов. Этого я сделать не могу, так как они уже унаследованы от "ИмяИнструментаMC". Скажите пожалуйста, как реализовать такую структуру?
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 09.06.2011, 11:02
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 2  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
http://www.flasher.ru/forum/showthread.php?t=136131
__________________
Кодинг, багинг, алгоритминг. me @

Старый 09.06.2011, 11:16
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Используйте композицию или интерфейсы. Ссылку выше тоже почитайте.
__________________
тут я

Старый 09.06.2011, 11:29
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 4  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Спасибо, прочитал. Но решение своей конкретной проблемы не увидел. Мне нужно чтобы суперкласс обьявлял слушатели мыши и реализовывал обработку событий мыши. Тоесть: я кликаю по экземпляру подкласса, а суперкласс обрабатывает это событие. И таких подклассов у меня 10-15. Как в моем случае подойдет композиция?
Интерфейс тоже не подходит, так как мне придется в каждом классе реализовывать методы этого интерфейса, тоесть в каждом из 10 классов писать 50-80 строк кода, одинаковые для всех классов. в таком случае можно и вообще обойтись без наследования.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 09.06.2011, 11:35
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 5  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
А наследование вам не подойдёт? Ну т.е. не В наследует А и Б, а Б наследует А, В наследует Б.
Крайне редко нужно двойное наследование (и ещё реже оно действительно нужно).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 09.06.2011, 11:39
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Класс А является базовым для всех, там ваши слушатели мыши. Класс Б и класс В расширяют этот класс А. В них же создается (композиция это и есть) экземпляр нужного графического ассета - вашего мувиклипа.
__________________
тут я

Старый 09.06.2011, 11:58
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 7  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Понял, как применить композицию. В нужном классе создам экземпляр класса Tool (который раньше должен был быть суперклассом), в конструктор передам "this" и повешаю на него все события.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 09.06.2011, 12:00
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Что-то мне подсказывает, что это неправильный подход.
__________________
тут я

Старый 09.06.2011, 12:04
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 9  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Эх. А мне вообще чтото не нравится. Короче создам класс Tool во флеше и унаследую все классы мувиклипов от него, и не буду парится. Создам библиотеку и дальше буду писать в FD. Только, вот если надо будет чтото поменять, придется снова открывать флеш, который у меня грузится 2 минуты, редактировать класс Tool, снова создавать библиотеку и т.д. и т.п... Спасибо всем.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 09.06.2011, 12:05
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 10  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А чем вам не нравится мой вариант? Тогда нужно только графические ассеты редактировать-перекомпиливать. А редактирование кода только в FD.
__________________
тут я

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.