Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как избежать конфликтов имен классов, между основным проектом и подключенным swc? (http://www.flasher.ru/forum/showthread.php?t=146445)

AlliAS 08.11.2010 16:26

Как избежать конфликтов имен классов, между основным проектом и подключенным swc?
 
Здравствуйте. Стоит задача создать swc библиотеку, но дело в том что она использует общеизвестные пакеты, например com.adobe.serialization.json, и имена классов в ней весьма не замудренные, могут совпасть, и пакет json также может использоваться в чужом проекте, как нужно проектировать библиотеку чтобы избежать подобных конфликтов?

КорДум 08.11.2010 16:41

Код AS3:

import mx.controls.Button;
import my.controls.Button;
...
var b:Button = new mx.controls.Button();

Ну, это так, на всякий случай и по теме.
А вообще, в своей библиотеке можно поставить перед всеми названиями что-то свое. Инициалы, например.

leofit 08.11.2010 16:58

А еще можно почитать про package и namespace

nOobCrafter 08.11.2010 17:00

я так понял что автор все не о том, у его классов реально одинаковые пакеты и имена, то есть он взял кастомные классы, добавил их в свц и чтото хочет с ними делать, правда какой конфликт тут будет непонятно, так же непонятна принципиальная разница в реализации этих классов

AlliAS 08.11.2010 17:09

про namespace читал, понравилось, думал решит проблему, но к классу его применить не получилось (код вроде ns class Main компилируеться с ошибкой что дескать только внтури класса можно изпользовать namespace), видимо я не до конца понимаю принцип создания библиотек

alatar 08.11.2010 17:29

Цитата:

у его классов реально одинаковые пакеты и имена
Если следовать рекомендациям, по наименованию пакетов, то такой ситуации не может быть в принципе.

leofit 08.11.2010 17:33

Если не ошибаюсь, у Мука целый раздел посвящен использованию namespace, очень подробно. Другое дело, что Вам, возможно, нет нужды так усложнять проект. Например JSON (com.adobe.serialization.json) использует пространство имен, которое определено для его пакета, Вы можете это использовать или создать пакет для своих классов, где будете использовать свое пространство имен, вообще package, который Вы пишете в начале класса для этого и задуман, что бы разграничивать такие вещи

AlliAS 08.11.2010 17:59

Ясно. Просто я программирую фо FlashDevelop, а он автоматически импортирует класс при обращении к нему, и в коде используеться только его имя, без пакета, я настолько к этому привык что не задумывался о всех функциях пакетов


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

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