我得到这个私有变量,让说,_var:int,它有一个setter和getter。到现在为止还挺好。这是行为预期还是某种逻辑缺陷?
的变种具有500
初始值当我做一个变种 - = 5;不是从var中减去5,而是减去505,我在getter中放置了一个断点,并且确实在那里。
那么,我对制定者和获得者的理解很差,或者这种行为不合逻辑吗?
谢谢。
我得到这个私有变量,让说,_var:int,它有一个setter和getter。到现在为止还挺好。这是行为预期还是某种逻辑缺陷?
的变种具有500
初始值当我做一个变种 - = 5;不是从var中减去5,而是减去505,我在getter中放置了一个断点,并且确实在那里。
那么,我对制定者和获得者的理解很差,或者这种行为不合逻辑吗?
谢谢。
我假设你只是使用VAR的提问作为简单的例子作为VAR是受限制的关键字。
下面是如何在ActionScript中使用setter &获得者的示例。
var bar:Bar = new Bar();
trace(bar.foo); //500
bar.foo -= 5;
trace(bar.foo); //495
package
{
//Class
public class Bar
{
//Variables
private var _foo:int;
//Constructor
public function Bar()
{
_foo = 500;
}
//Set Foo
public function set foo(value:int):void
{
_foo = value;
}
//Get Foo
public function get foo():int
{
return _foo;
}
}
}
你也可以尽量避免使用设置和通过改变函数签名setFoo(价值:INT):获得关键字无效和的getFoo(): int。有些开发人员更喜欢这种方法,因为更明显的是显式调用函数会提供额外的程序设置,而传统的ActionScript设置器和getter则不会。
是的,那正是我的代码。现在,当我做一个酒吧 - = 5;然后我讲述了_bar的值,它表示:-5代替495. – Artemix
在我的示例中,bar是类Bar的一个实例,它是一个包含名为foo的属性的对象。您必须更改'foo'的值,而不是'bar'。请修改您的问题以包含您的代码。 – TheDarkIn1978
请显示您的代码。你不是在调用变量“var”吗? – 2013-01-12 00:38:52