önce de söz edildiği gibi, bir sınıf üyesi yönteminden bir sınıf üyesi değişkeni başvurmak isteyen çok basit bir durumda, örneğin içinde bu kullanmaya gerek yoktur:
public function myClassMethod() : void
{
// "this" is redundant here, as it is implied if omitted
this.myPrivateOrPublicVariable = 123;
}
Not: 'un bu'un (bir programda karşılaşıldığı anda değerlendirilen, tahmin edilebileceği gibi değil) değerlendirildiği durumlar, yazılmakta olduğu sınıfa karşılık gelmez. Daha spesifik olarak, bu, Function.apply() gibi bir yöntem kullanılarak çağrılacak bir işlev içinde kullandığınızda olur. Bu yöntem, arayanın tarafından belirtilecek nesneyi bu tarafından belirtilmesini sağlar ve geri aramalarda yaygın olarak kullanılır, örn. doldurma motorlarında. İşte
// Call myFunction(listOfArguments[0], listOfArguments[1] ...),
// with this referring to objectReferredToByThis.
myFunction.apply(objectReferredToByThis, listOfArguments);
bu ziyade sınıfının bir örneğine (yani MovieClip _mc) doldurulan nesneye atıfta sağlayan varsayılan davranıştır popüler arayı doldurma motoru Tweener'dan ile bir örnek olan bu yazılmıştır (yani
MyClass). Biz açıkça bizim MovieClip (_mc) ait
görünür durumunu değiştirmek için çalışma zamanını talimat istedikleri için yukarıdaki kodu
package
{
/* ... imports ... */
public class MyClass extends Sprite
{
private var _mc : MovieClip;
public function tweenSomething() : void
{
var tween : Object = {
x: 0,
time: 1,
onComplete: function() : void {
// Here, "this" will not refer to the instance
// of MyClass, but rather to the _mc MovieClip,
// which is the object being tweened below.
this.visible = false;
}
};
Tweener.addTween(_mc, tween);
}
}
}
,
bu kullanımı gereklidir.
bu kullanılmamış olsaydık,
referans referansı,
MyClass.visible işlevinin kapanması nedeniyle başvurulan olurdu.
teşekkürler. Bu, öğrenmek istediğimi temizler. Bu ayrıntılara girdiğiniz için – jml