Показать сообщение отдельно
Старый 04.01.2016, 17:41
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 6  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,921
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Вы имеете ввиду сто класс A привязан к документу ?
Или так, или связан с мувиком, в котором лежат ваши объекты.
... Если не писать this вообще, то всё станет очевидным.
this не имеет никакого отношения к методам, он ссылается на текущий экземпляр класса, в котором вызывается.
this.x или super.x, или просто x - всё одинаково будет работать, так как обращение происходит к свойству экземпляра.
this пишут либо те, кто привык писать this, либо там, где он действительно нужен(чтобы, например, передать ссылку на экземпляр текущего класса в другой класс).

Давайте я вам пример напишу, чтобы более понятно было.
Код AS3:
class Main extends Sprite
{
   public function Main()
   {
      var bucket:Bucket = new Bucket();
      for(var i:int = 0; i < 10; i ++)
         var apple:Apple = new Apple(bucket);
 
      trace(bucket); // выведет 10 раз Apple через запятую
   }
}
 
class Bucket 
{
   private var content:Array;
   public function Bucket()
   {
      content = [];
   }
 
   override public function toString():String
   {
      var str:String = "";
      for(var i:int = 0; i < content.length; i ++)
         str += content[i].toString() + ((i == content.length - 1)?".":", ");
      return str;
   }
 
   public function put(elem:*):void
   {
      content.push(elem);
   }
}
 
class Apple 
{
   public function Apple(bucket:Bucket)
   {
      bucket.put(this);
   }
 
   override public function toString():String
   {
      return "Apple";
   }
}
__________________
There is no thing in this world that is not simple.


Последний раз редактировалось ZackMercury; 04.01.2016 в 18:13.