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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.08.2010, 02:03
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 1  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
По умолчанию наследование vs экземпляр класса

Всем привет, пытаюсь упорядочить несколько классов и файлов, так чтобы не писать по несколько раз один и тот же функционал, подскажите как лучше подойти к проблеме?

Я создал класс, описывающий поведение кнопки ToggleButton.as, но у меня в разных файлах, есть кнопки, с очень похожим функционалом, вся проблема в том, что из-за того, что все в разных файлах, я не могу наследоваться от ToggleButton, а только от MovieClip, т.к. это документ классы разных кнопок. Может в каждом документ классе создавать экземпляр класса ToggleButton, соответственно расшарив до "public" его свойства и методы и соответственно, менять их и добавлять по мере необходимости в документ классе текущей кнопки? Или же есть реешение лучше?

Добавлено через 8 часов 55 минут
хм, народ, неужели никто не сталкивался? Неужели придется copy/paste использовать для документ класса?

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

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Кинь исходник, я посмотрю.

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

Регистрация: Aug 2010
Адрес: Красноярск
Сообщений: 7
Если у тебя есть несколько классов которые реализуют одну и ту же логику, то имеет смысл вынести её в базовый класс, а остальные наследовать от него.

Старый 03.08.2010, 11:51
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 4  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
ситуация немного другая - я не могу наследоваться от этого класса, поскольку каждый раз это новый проект с новым документ классом, который должен наследоваться от MovieClip, мне нужно реализовать функционал в разных файлах, может какие нть подойдут инструменты типа - интерфейс, инкапсуляция, наследование, композиция, просто не могу так сходу определить что может подойти.

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

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
А причем тут документ класс и класс кнопки? У вас приложение состоит из одной кнопки?

Старый 03.08.2010, 12:18
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Гм, и плевать.
Пусть будет
YourCustom class extends Button Class extends MovieClip

Когда говорят что должен наследоваться от MovieClip имеют ввиду, что они смогут привести это дело к MovieClip, т.е. достаточно чтобы MovieClip мелькнул в цепочке наследования. А будет он от него наследоваться сразу или через 40 классов - дело Ваше.

Старый 03.08.2010, 12:40
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 7  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Psycho Tiger, ты имеешь ввиду так -
Код AS3:
FirstToggleButton extends ToggleButton extends MovieClip
?
обалдеть...это то что надо, но как это будет работать? Flash поймет в итоге что это?

А вообще тогда вопрос - вот у меня есть класс, от которого я унаследуюсь ToggleButton, а что из себя будет представлять класс FirstToggleButton, это будет тоже самое+ функционал FirstToggleButton, т.е. я в классе ToggleButton могу писать все так, как будто бы это уже и есть класс FirstToggleButton?

И потом, по идее в FirstToggleButton, я могу добавить функционал, напрмер создать переменную или функцию...хм...а если нужно обратиться к переменной или функции родительского класса, они там public должны быть? И вообще как к ним обращаться через this, через parent?

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Psycho Tiger, ты имеешь ввиду так -
Нет. Вы не можете унаследовать от двух классов сразу - этого нет в AS3. Имелось ввиду написание собственного CustomClass extends MovieClip + написание DocumentClass extends CustomClass
__________________
...вселенская грусть

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

Регистрация: Feb 2010
Сообщений: 95
Цитата:
И потом, по идее в FirstToggleButton, я могу добавить функционал, напрмер создать переменную или функцию...хм...а если нужно обратиться к переменной или функции родительского класса, они там public должны быть? И вообще как к ним обращаться через this, через parent?
Достаточно protected. parent - нет такого, нужно через this (хотя можно вообще без this).

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
нужно через this
или через super (parent существует только для DisplayObject'ов и ссылается на контейнер, содержащий текущий экземпляр, а super - это то, от чего наследуется текущий экземпляр)
__________________
...вселенская грусть

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

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

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


 


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


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