Apache flex 究竟什么是';这';as3课程中的参考?
我在互联网上到处搜索,哪怕是对“这个”参考的一点点提及,都没有找到!!!似乎根本没有人谈论“这个”。我是一个有经验的C++程序员,所以我对这个“指针”的想法很熟悉。我的问题是,as3类中的“this”引用到底是什么?试图编辑它会引发编译器错误。将其分配给另一个类实例似乎是“this”指向的对象的副本。我所有的尝试都表明它与普通变量类实例无法区分。我的最终目标是将一个类实例指向另一个实例,我一直在尝试确定是否可以使用“this”来简化这个过程。谢谢 简短的回答是:不。您将无法重复使用Apache flex 究竟什么是';这';as3课程中的参考?,apache-flex,actionscript-3,reference,class,this,Apache Flex,Actionscript 3,Reference,Class,This,我在互联网上到处搜索,哪怕是对“这个”参考的一点点提及,都没有找到!!!似乎根本没有人谈论“这个”。我是一个有经验的C++程序员,所以我对这个“指针”的想法很熟悉。我的问题是,as3类中的“this”引用到底是什么?试图编辑它会引发编译器错误。将其分配给另一个类实例似乎是“this”指向的对象的副本。我所有的尝试都表明它与普通变量类实例无法区分。我的最终目标是将一个类实例指向另一个实例,我一直在尝试确定是否可以使用“this”来简化这个过程。谢谢 简短的回答是:不。您将无法重复使用此指向同一类的
此
指向同一类的不同实例
AS3中的this
关键字的行为与C#中的相同:在类中使用时,它始终引用对象的当前实例
public class Cat
{
var name:String = "";
public function getName():String
{
return this.name;
}
public function setName(name:String):void
{
this.name = name;
}
}
var joe:Cat = new Cat();
joe.setName("Joe"); //joe.getName() will return "Joe"
var john:Cat = new Cat();
john.setName("John"); //john.getName() will return "John"
简短的回答是:不可以。您将无法重复使用
此
来指向同一类的不同实例
AS3中的this
关键字的行为与C#中的相同:在类中使用时,它始终引用对象的当前实例
public class Cat
{
var name:String = "";
public function getName():String
{
return this.name;
}
public function setName(name:String):void
{
this.name = name;
}
}
var joe:Cat = new Cat();
joe.setName("Joe"); //joe.getName() will return "Joe"
var john:Cat = new Cat();
john.setName("John"); //john.getName() will return "John"
一个快速的谷歌给了我这些:
它只引用了该方法所在对象的当前实例。快速谷歌会告诉我:
它只是引用方法所在对象的当前实例。这是对类实例的引用。它实际上比任何东西都更方便和清晰——即它允许轻松访问代码暗示,并明确说明您试图访问的属性/方法。它是一个保留字,因此不能用于其他目的 使用与类属性同名的参数的方法非常方便,例如:
package
{
public class MyClass
{
private var stuff:String;
public function MyClass()
{
}
public function setStuff(stuff:String):void
{
this.stuff = stuff;
}
}
}
this.stuff引用实例属性,stuff引用已传入的方法参数。如果没有这一点,对stuff的引用就会模棱两可,编译器也不会知道您想要将class属性设置为参数
package
{
public class MyClass
{
private var stuff:String;
public function MyClass()
{
}
public function setStuff(stuff:String):void
{
stuff = stuff; //NO this KEYWORD!
}
}
}
只需将参数设置为自身,就不会发生任何事情
许多人认为使用这种方法会产生杂乱难看的代码。就个人而言,我经常使用它,但这是个人品味的问题,也是您的团队/项目已经同意的惯例
无法将其重新分配给其他类。这是对该类实例的引用。它实际上比任何东西都更方便和清晰——即它允许轻松访问代码暗示,并明确说明您试图访问的属性/方法。它是一个保留字,因此不能用于其他目的 使用与类属性同名的参数的方法非常方便,例如:
package
{
public class MyClass
{
private var stuff:String;
public function MyClass()
{
}
public function setStuff(stuff:String):void
{
this.stuff = stuff;
}
}
}
this.stuff引用实例属性,stuff引用已传入的方法参数。如果没有这一点,对stuff的引用就会模棱两可,编译器也不会知道您想要将class属性设置为参数
package
{
public class MyClass
{
private var stuff:String;
public function MyClass()
{
}
public function setStuff(stuff:String):void
{
stuff = stuff; //NO this KEYWORD!
}
}
}
只需将参数设置为自身,就不会发生任何事情
许多人认为使用这种方法会产生杂乱难看的代码。就个人而言,我经常使用它,但这是个人品味的问题,也是您的团队/项目已经同意的惯例
不能将此重新分配给另一个类。< /P>“将类实例指向不同的实例”——您如何通过C++来分配这一代码?>“<实例/代码>?”“将类实例指向不同的实例”——您如何通过C++来分配这一代码?