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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.07.2014, 20:57
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 1  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
По умолчанию Можно ли получить переменную из главного класса

У меня есть главный класс я получаю переменную и она используется в ещё одном классе, чтобы не создавать две переменных я её присваиваю переменной подкласса и использую в главном классе тоже, можно ли получить из подкласса доступ к переменным мэйн класса? Кароч можно ил сделать прямее?

Код AS3:
мэйн класс {
    подкласс.переменная = spisok.message.@price;
 
    количество = 5* подкласс.переменная;
}
 
подкласс{
    вар:переменная;
}


Последний раз редактировалось dimarik; 21.07.2014 в 23:58.
Старый 21.07.2014, 21:09
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 2  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Можно сделать эту переменную static public, тогда доступ к ней будет доступен везде, просто через имя класса, в котором она объявлена.

Старый 21.07.2014, 21:12
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 3  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
Цитата:
Сообщение от samana Посмотреть сообщение
Можно сделать эту переменную static public, тогда доступ к ней будет доступен везде, просто через имя класса, в котором она объявлена.
ну так у меня и так она доступна через имя класса, тем более какое имя у главного класса?

Старый 21.07.2014, 21:23
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 4  
Ответить с цитированием
LifeIsRhythm
[+1 22.07.14]
[+4 12.08.14]
[+1 09.02.15]

Регистрация: May 2014
Сообщений: 182
Вроде три года уже учите, а вопросы, как после прочтения половины книги Мука.
Обычно, если в приложении значение определенного свойства требуется в нескольких местах,
но получить доступ красивым способом не получается, то обычно делают статический класс ( фасад ).

Добавлено через 52 секунды
А вообще можно и две переменных создать и даже три, приложение они точно не положат.

Добавлено через 4 минуты
И о чем Вы думали, когда писали "сделать прямее"? Что в программировании означает "прямее"?

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Допустим у вас есть какой-то класс, возьмём в пример главный класс Main. Если вы создадите в нём статическую, публичную переменную, например (код в Main классе)
Код AS3:
static public var mainVar:String="Статическая переменная Main класса";
то в любом классе вашего проекта, вы можете обратиться к этой переменной таким образом, например (код в любом классе проекта)
Код AS3:
trace(Main.mainVar);//Статическая переменная Main класса

Старый 21.07.2014, 21:34
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 6  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
Цитата:
Сообщение от LifeIsRhythm Посмотреть сообщение
Вроде три года уже учите, а вопросы, как после прочтения половины книги Мука.
Обычно, если в приложении значение определенного свойства требуется в нескольких местах,
но получить доступ красивым способом не получается, то обычно делают статический класс ( фасад ).

Добавлено через 52 секунды
А вообще можно и две переменных создать и даже три, приложение они точно не положат.

Добавлено через 4 минуты
И о чем Вы думали, когда писали "сделать прямее"? Что в программировании означает "прямее"?
сделать прямее значит объявить переменную в главном классе один раз и получать отовсюду к ней доступ х)

Добавлено через 1 минуту
Цитата:
Сообщение от samana Посмотреть сообщение
Допустим у вас есть какой-то класс, возьмём в пример главный класс Main. Если вы создадите в нём статическую, публичную переменную, например (код в Main классе)
Код AS3:
static public var mainVar:String="Статическая переменная Main класса";
то в любом классе вашего проекта, вы можете обратиться к этой переменной таким образом, например (код в любом классе проекта)
Код AS3:
trace(Main.mainVar);//Статическая переменная Main класса
ну я и так сделал почти, хотя да наверное из третьего класса моим способом эту переменную не получить х)

Старый 21.07.2014, 23:55
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
grafillo, обратите внимание, что код AS3 должен обрамляться тегами [as3][/as3], для псевдокода можно применить тег, сохраняющий первоначальное форматирование: [code][/code]. На первый раз я сам отредактировал ваше сообщение.

Добавлено через 11 минут
Цитата:
Сообщение от grafillo! Посмотреть сообщение
сделать прямее значит объявить переменную в главном классе один раз и получать отовсюду к ней доступ х)
Глобальный доступ — порочная практика в рамках ООП и нужны достаточно веские причины, чтобы ею все-таки воспользоваться.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 22.07.2014 в 00:07.
Старый 22.07.2014, 00:17
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 8  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
Цитата:
Сообщение от dimarik Посмотреть сообщение


Глобальный доступ — порочная практика в рамках ООП и нужны достаточно веские причины, чтобы ею все-таки воспользоваться.
а что делать если переменная используется в нескольких классах, как построить структуру приложения? х)

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

Регистрация: Jan 2011
Сообщений: 247
Доставать переменные можно и с родительских классов, только это не совсем правильно по принципам ООП
например через диспатч или через гетер, как вам удобней, а чтоб во всех классах была переменная то нужно просто присваивать ссылку в том классе где вы хотите использовать её.

Старый 24.07.2014, 19:36
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 10  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
У тс мусор в голове!
Что такое под класс? Наследуемый? Он имеет все переменные супер-родителя!

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

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

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


 


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


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