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

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

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

Регистрация: Nov 2007
Сообщений: 183
По умолчанию Создание объект в зависимости от объекта данных

Всем здравствуйте! Мне на ум ничего толкового не приходит. может кто подскажет как грамотно сделать.
Попробую объяснить. Есть некий массив данных
Допустим такой:

Код AS3:
var dataList:Array = [ShapeData1,ShapeData2,ShapeData3,...,ShapeData2]
Все они наследуются от ShapeData

Нужна функция, которая возвращает определенный объект Shape в зависимости от типа DataShape

я написал вот такую:
Код AS3:
public static function getShapeByData(_data : ShapeData) : Shape {					
 
 
		if(_data as ShapeData1) return new Shape1(_data);
 
		if(_data as ShapeData2) return new Shape2(_data);
 
                 if(_data as ShapeData3) return new Shape3(_data);
 
		.......................................		
 
 
		return new Shape(_data);
	}
Но честно говоря не очень как то. Проблема в том, что если допустим Shape3 наследуется от Shape2 - который в свою очередь наследуется от Shape, то в данной функции Shape3 мне не видать как своих ушей, до тех пор пока к примеру я не помещу условие проверки Shape3 выше


Как бы четко определить, что некая ShapeData именно ShapeData1 или ShapeData3, независимо от их порядка проверки в функции (не зависимо от их наследования).

Или еще может какой выход есть. Я перелопатил весь форум, нашел только

getQualifiedSuperclassName(value:*):String

но он название класса с пекеджем выдает. Это нужно получается еще эту строку обрезать от него, что бы к примеру создать в зависимости от названии ShapeData
Если конечно нет другого выхода, наверно так сделаю.

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

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

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


 


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


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