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

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

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

Регистрация: Nov 2011
Сообщений: 31
По умолчанию Вызвать метод экземпляра

написано, что вызывается по след обобщенному коду: объект.имяМетода (). (Примечание: я на том этапе, пока this еще использую).

Тогда почему в след. коде

Код AS3:
package zoo {
    public class VirtualZoo {
        private var pet;
 
        public function VirtualZoo () {
            this.pet = new VirtualPet ("Stan");
            this.pet.eat();
        }
    }
}
Почему при вызове метода, перед объектом указывается this ?


Последний раз редактировалось dimarik; 14.12.2011 в 22:50.
Старый 13.12.2011, 23:52
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 2  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Потому что pet -- это private var. Приватное свойство класса VirtualZoo.
Через точечную нотацию вы обращаетесь к конкретному методу конкретного объекта, постепенно уточняя до необходимого уровня целевой объект.
[наш зоопарк].[находящийся в нем питомец].[метод питомца "кушать"]
this, как вы уже должны были прочитать -- указывает на текущий объект. Код которого мы редактируем\читаем.

p.s. Оформите код тегами. В редактировании сообщения есть кнопочка AS3
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.


Последний раз редактировалось ChuwY; 13.12.2011 в 23:55.
Старый 13.12.2011, 23:54
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 3  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
в данном случае можно писать и так и так, с this просто код понятнее

Старый 13.12.2011, 23:58
Wadimir вне форума Посмотреть профиль Отправить личное сообщение для Wadimir Найти все сообщения от Wadimir
  № 4  
Ответить с цитированием
Wadimir

Регистрация: Nov 2009
Сообщений: 176
this актуально в таком случае:
Код AS1/AS2:
private var pet:VirtualPet;
 
public function VirtualZoo (pet:VirtualPet) {
    this.pet = pet;
}
тогда в пределах области видимости нужно обязательно обращаться через this.
А в вашем контексте this не обязательный.

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Код AS3:
private var _pet:VirtualPet;
 
public function VirtualZoo (pet:VirtualPet) 
{
    _pet = pet;
}
Так вообще хорошо :о)
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 14.12.2011, 00:01
Pronoob вне форума Посмотреть профиль Отправить личное сообщение для Pronoob Найти все сообщения от Pronoob
  № 6  
Ответить с цитированием
Pronoob

Регистрация: Nov 2011
Сообщений: 31
Спасибо большое всем, но большее ChuwY

Старый 14.12.2011, 00:01
Wadimir вне форума Посмотреть профиль Отправить личное сообщение для Wadimir Найти все сообщения от Wadimir
  № 7  
Ответить с цитированием
Wadimir

Регистрация: Nov 2009
Сообщений: 176
Цитата:
Сообщение от GBee Посмотреть сообщение
Код AS3:
private var _pet:VirtualPet;
 
public function VirtualZoo (pet:VirtualPet) 
{
    _pet = pet;
}
Так вообще хорошо :о)
_pet - если это геттер и сеттер ))))))))

Старый 14.12.2011, 00:20
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 8  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
У меня это приватная переменная.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
_pet - если это геттер и сеттер ))))))))
Что абсолютно нелепо, так это писать одни приватные переменные с прочерком из-за того, что у них есть геттер или сеттер, а другие – без, из-за того, что геттера/сеттера у них нет. Тогда надо еще придумать третий стиль для приваток, задаваемых через парамтры конструктора?
Я все приватные переменные именую с прочерка.
__________________
Reality.getBounds(this);

Старый 14.12.2011, 04:47
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Я все приватные переменные именую с прочерка.
и так же поступают 90% программистов
__________________
Марк Tween

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

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

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


 


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


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