|
|
|||||
Регистрация: Apr 2010
Сообщений: 8
|
Организация хранилища констант
Здравствуйте, нуждаюсь в совете по такому вопросу. В моем проекте необходимо место для хранения определённых констант (масс, радиусов, скоростей различных космических тел). Хотелось бы узнать как организовать такое хранилище, что бы доступ к нему имелся из любого класса, например в виде такой конструкции Astro.Sun.Radius (доступ к значению радиуса Солнца), как это организовано с классом Math, когда вводя Math.PI получаю доступ к значению числа Пи. Заранее спасибо.
|
|
|||||
стервочка (я мужик)
|
static
|
|
|||||
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Гляньте исходный код Math и увидите:
package { /// The Math class contains methods and constants that represent common mathematical functions and values. public class Math extends Object { ... public static const PI : Number; ... } } |
|
|||||
Регистрация: Apr 2010
Сообщений: 8
|
Спасибо большое. Сделал. Всё работает. Посмотрел по вашему совету класс Math и немного растерялся. Там объявляются только константы и функции. А где собственно хранятся тела функций и значения констант, и что это за конструкция
|
|
|||||
Modus ponens
|
То, что вы возможно увидели - это intrinsic класс, т.е. не настоящий, а только для автокомплита, например. Настоящий класс написан на C или может быть C++ и исходников его в публичном доступе либо нет, либо надо смотреть исходники Тамарина, может там и есть.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 25.04.2010 в 23:44. |
|
|||||
Регистрация: Apr 2010
Сообщений: 8
|
Все понял, спасибо.
|
|
|||||
стервочка (я мужик)
|
wvxvw, класс вполне себе настоящий =) просто это интерфейс для сишных методов. иногда в них бывает и код.
|
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Я параметры и константы храню в файле GlobalParameters.as в корневом каталоге:
Доступ из любого класса приложения GlobalParameters.param1, GlobalParameters.param2 и т.д. |
|
|||||
Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
|
mikhailk, у Вас это получаются не константы, их изменить можно. Причем Вы видимо забыли static написать, вообще доступ не получится без извращений...
Добавлено через 13 минут И автокомплит не будет работать, короче ужас, имхо. По моему лучше хранить константы в тех классах к которым они относятся. В виде статических констант. Это кроме всего прочего ещё и быстрее работать будет. |
|
|||||
Modus ponens
|
BlooDHounD: интерфейс это настоящий класс?
mickfallout: статик не нужен, но GlobalParameters действительно не будет константой, равно как и его ключи. Что касается констант в AS вообще, то, скажем так, они вобщем-то по поведению не константы, т.как они ссылки, а не значения. Т.е. при компиляции упоминания строковых констант не заменяется строками-значениями. Кроме того класс Class динамический, поэтому доступ к его свойствам немного медленнее, чем доступ к свойствам не динамических объектов.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 12:43. |
|
« Предыдущая тема | Следующая тема » |
Теги |
math , константы |
|
|