Форум программистов, компьютерный форум, киберфорум
Наши страницы
ActionScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
SseDmoGo
9 / 9 / 1
Регистрация: 22.03.2013
Сообщений: 65
1

function функция get return область видимости возвращаемая переменная

27.03.2013, 14:11. Просмотров 709. Ответов 8
Метки нет (Все метки)

просмотрел..почитал про видимость и про функции ...на сколько понимаю я
функция bytesFoo() должна быть находится в области видимости класса,
но trace() не где её не видит,почему? и как обратится к bytesFoo() и возвращаемой ей переменной
_bytesLoaded? у меня даже _bytesLoaded не видно в в этом классе...и чтобы как всегда не завести
ваши мысли в тупик за счёт своей не связанной речи я ещё раз по пунктам задам вопросы
1. функцию bytesFoo() должно быть видно в в самом классе?
2.как правильно к ней обратится?
3.должно ли быть видно переменную _bytesLoaded в своём классе ? и должно ли её быть видно без указания
в ссылке возвращающей её функции?
вот мои ответы на свои вопросы такие:
1.ДА
2.либо так: trace(bytesFoo());либо так:trace(String(bytesFoo));
3.ДА ,ДА
и тут либо я что то не понимаю и вы мне обьясните либо...
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package  {
   public class MyLoader extends EventDispatcher{
   private var _loader:URLLoader = new URLLoader();
   private var _urlRequest:URLRequest;
   private var _bytesLoaded:int;
   private var _bytesTotal:int;
   private var _loadData:*;
public function MyLoader(path:String ,format:String = "text") {
   _loader.dataFormat = format;
   myLoad();
   myProgress();
   _loader.load(new URLRequest(path));
}
private function myLoad():void{
   _loader.addEventListener(ProgressEvent.PROGRESS ,onProgress);
   _loader.addEventListener(Event.COMPLETE ,onComplete);
}
public function myProgress():void{
}
private function onComplete(event:Event):void{
    _loadData = event.target.data;
    dispatchEvent(new Event("MyEvent"));
}
public function myLoadData():*{
    return _loadData;
}
private function onProgress(event:ProgressEvent):void{
    _bytesLoaded = event.bytesLoaded;
    _bytesTotal = event.bytesTotal;
}
public function get bytesFoo():int{
    return _bytesLoaded;
}
}
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 14:11
Ответы с готовыми решениями:

Переменная static и область видимости
Я думал, что переменная объявленная при помощи ключевого имени static существует всё время от её...

Переменная, область видимости для нескольких форм
Здравствуйте форумчане! Объясните, как создать переменную, на допустим 2 формы. У меня есть...

Функция и возвращаемая ей информация
Добрый день. Возникла такая проблема. Пишу программу, вычисляющую предел рекуррентной...

Функция выдает ошибку: "Return value of function might be undefined"
Привет Всем! Вот написана функция : function SearchAndReplace( RE1: TRichEdit; SearchText,...

Функция выдает ошибку: "Return value of function 'Through' might be undefined"
Привет Всем! Вот написана функция : FUNCTION Through( k, m :INTEGER; N_f :WORD) :WORD; ...

8
Theoryofgames
253 / 237 / 50
Регистрация: 20.12.2011
Сообщений: 707
27.03.2013, 21:10 2
1. Да, данная функция видна внутри класса, которого она объявлена (как и любая другая функция), помимо этого, так как у него модификатор доступа public, она будет видна и извне класса.

2. Эта функция является геттером, поэтому обращаться к ней нужно как к обычному свойству (обычной переменной): trace(bytesFoo);

3. Не совсем понятно, то означает в своем классе, если имеется ввиду класс, в котором она объявлена, то да, она будет видна. Второй части вопроса я, если честно, не понял.

Переменные и функции, которые объявляются внутри класса принято называть свойствами и методами данного класса. Любые свойства и методы, объявленные внутри класса будут видны внутри данного класса, а вот будут ли они видны извне зависит от модификатора доступа (public, protected, internal, private).
1
SseDmoGo
9 / 9 / 1
Регистрация: 22.03.2013
Сообщений: 65
27.03.2013, 23:07  [ТС] 3
Переменные и функции, которые объявляются внутри класса принято называть
свойствами и методами данного класса.
спасибо! буду знать а то во всех книжках написано что метод - это "функция" являющаяся телом класса
и если я прав в своих ответах, то почему тогда у меня не где не видно не функций(методов класса) не этой переменной...

Добавлено через 1 час 10 минут
и сразу спрошу ещё про return в (функции\методе) :
ActionScript 3
1
2
3
4
5
6
7
8
9
10
private function bar(myX:uint ,myY:uint ,myW:uint ,myH:uint):uint{
    sp = new Sprite();
    with(sp.graphics){
    beginFill(0xfff000);
    drawRect(myX ,myY,myW ,myH);
    endFill();
    }
    return ???; //у меня в теме функции\методы остался наверное один открытый вопрос:
                       //вот что тут надо возвратить чтобы не было ошибки?
}
Добавлено через 20 минут
если добавить
ActionScript 3
1
return (myX,myY,myW,myH);
не получится ли рекурсивная функция?
0
TanaTiX
Модератор
2798 / 1655 / 168
Регистрация: 19.02.2011
Сообщений: 6,018
Завершенные тесты: 2
27.03.2013, 23:13 4
Цитата Сообщение от SseDmoGo Посмотреть сообщение
почему тогда у меня не где не видно не функций(методов класса) не этой переменной...
Вас не понятно.

Цитата Сообщение от SseDmoGo Посмотреть сообщение
вот что тут надо возвратить чтобы не было ошибки?
То, что у вас после перечисления аргументов при объявлении метода, в вашем примере uint. Кстати, судя по коду, там в этом нет необходимости (в возвращении значения uint)

Добавлено через 38 секунд
Цитата Сообщение от SseDmoGo Посмотреть сообщение
не получится ли рекурсивная функция?
У вас богатая фантазия
1
SseDmoGo
9 / 9 / 1
Регистрация: 22.03.2013
Сообщений: 65
27.03.2013, 23:20  [ТС] 5
Цитата Сообщение от TanaTiX Посмотреть сообщение
Вас не понятно.
trace(); делаю trace(bytesFoo()); и trace(bytesFoo); и trace(String(bytesFoo));
и тоже самое с переменной _bytesLoaded...делаю это всё в этом же классе.
знаю что должно их видно быть. даже книжки опять просматривал.
но возможно это и какой то глюк в адобефлеш так как бывает что даже после удаления
чего то всё равно есть ошибка с указанием на пустую строку...
0
TanaTiX
Модератор
2798 / 1655 / 168
Регистрация: 19.02.2011
Сообщений: 6,018
Завершенные тесты: 2
27.03.2013, 23:37 6
Ох уж этот "адобефлеш"!.. Давно перестал использовать его для кодирования и ни разу не пожалел. Возможно, перед компиляцией вы не сохраняете внесенные в файл класса изменения. Выложите минимальный пример, иллюстрирующий проблему (проект)
1
SseDmoGo
9 / 9 / 1
Регистрация: 22.03.2013
Сообщений: 65
28.03.2013, 00:12  [ТС] 7
Выложите минимальный пример
это и есть минимальный. у меня максимальный то и стоит так как я понять не могу.
и я всё же надеюсь что это я что то не так делаю, но в случаи чего тоже тогда поменяю.
а то если это в адобе дело так он тогда все мои минимальные знания вообще на нет свидет.
а файл тут видно нельзя прикрепить?)
упс...
0
Вложения
Тип файла: rar load_bar.rar (67.5 Кб, 3 просмотров)
TanaTiX
Модератор
2798 / 1655 / 168
Регистрация: 19.02.2011
Сообщений: 6,018
Завершенные тесты: 2
28.03.2013, 00:50 8
Чуть подправил и вставил комментарии по ходу кода.
И старайтесь сохранять в более ранней версии ИДЕ, т.к. не у всех может быть 6я или к.-л. другая версия.
1
Вложения
Тип файла: rar load_bar.rar (53.4 Кб, 4 просмотров)
SseDmoGo
9 / 9 / 1
Регистрация: 22.03.2013
Сообщений: 65
28.03.2013, 00:58  [ТС] 9
TanaTiX Спасибо! и сразу на будущее, извиняюсь за свои нелепые вопросы,чтоб они вас не оттолкнули,
так как для меня ваши слова как прозрение
0
28.03.2013, 00:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 00:58

How can to return value (return value; ) of javascript function to ASP ?
How can to return value (return value; ) of javascript function to ASP ?

Function return rvalue
Добрый день, #include <iostream> using namespace std; int& Foo() { static int a = 14;...

Выдает ошибку Return value of function
Создал модуль по примеру, добавил его в проект, но все равно выдает 2 ошибки: 1) Return value of...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru