Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   Доступ к родителю из Xml объекта (http://www.flasher.ru/forum/showthread.php?t=50896)

constantiner 03.11.2003 18:13

class MyClass {
private var _Prop1:String = "2";
private var _Prop2:XML;

function MyClass(){
_Prop2 = new XML();
var ref:MyClass = this;
this._Prop2.onLoad = function()
{
ref._Prop1 = "1";
trace ("In onLoad: " + ref._Prop1);
ref.traceProp1 ();
ref.traceProp1_prvt ();
};
this._Prop2.load("class_attendance_report.xml");
}

function traceProp1 ():Void
{
trace ("in public method: " + _Prop1);
}

private function traceProp1_prvt ():Void
{
trace ("in private method: " + _Prop1);
}

}

llllllllll 03.11.2003 18:30

This не мне не угодил :) - он не нужен нам при определении класса, зачем нам масло масленное?

constantiner 03.11.2003 18:40

А каким еще способом ссылаться на экземпляр самого себя? В том числе чтобы передавать эту ссылку куда-нибудь. Просвети?

okv 03.11.2003 18:41

To constantiner:

Круто!

Но возникает вопрос, почему ссылка ref работает при ее создании в конструкторе и не работает если создать ее в свойствах класса и в конструкторе только задать значение?

constantiner 03.11.2003 18:55

Даже так:

Код:

class MyClass {
        private var _Prop1:String = "2";
        private var _Prop2:XML;

        function MyClass(){
              _Prop2 = new XML();
                          var ref:MyClass = this;
              _Prop2.onLoad = function()
                          {
                      ref._Prop1 = "1";
                                          trace ("In onLoad: " + _Prop1);
                                          ref.traceProp1 ();
                                          ref.traceProp1_prvt ();
              };
              _Prop2.load("class_attendance_report.xml");
        }
               
                function traceProp1 ():Void
                {
                        trace ("in public method: " + _Prop1);
                }

                private function traceProp1_prvt ():Void
                {
                        trace ("in private method: " + _Prop1);
                }
}


llllllllll 03.11.2003 18:55

Цитата:

Оригинал написал(а) constantiner
А каким еще способом ссылаться на экземпляр самого себя? В том числе чтобы передавать эту ссылку куда-нибудь. Просвети?
Я не про ссылку на самого себя, а про избыточное использование ...

class MyClass {
private var _prop:Number;
function setProp(){
this._prop = Math.random();
}

}

this - тут не нужен :)

Baltika 03.11.2003 19:12

да, просто привык я this писать, т.к. пишу чаше на шарпе чем на ас

:cool:

ЗЫ нашел к чему придраться.. ;)

llllllllll 03.11.2003 19:23

Baltika - я не придераюсь, а лишь хочу разобраться, коль подвернулась такая возможность, потому как сам копать АС2.0 небуду :) - незачем он мне :)

Baltika 03.11.2003 19:32

Цитата:

Оригинал написал(а) llllllllll
Baltika ..потому как сам копать АС2.0 небуду :) - незачем он мне :)
аналогично .. :))


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

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