【发布时间】:2011-05-25 11:47:55
【问题描述】:
感谢大家的回答,找到了解决方案。检查这篇文章的底部。
我正在使用 MVC,问题与我的模型有关。使用我的代码,我正在创建一个板,该板反过来创建瓷砖。棋盘上的每个图块都有一个 X 和一个 Y 值。在此之后,我想阻止对 setter 的访问,以防止自己再次意外更改值。
我正在考虑使用常量而不是变量,但似乎我必须在创建时定义值。换句话说: const myConst:uint;我的常量 = 2; // 不工作
现在我有一个我不满意的解决方法。当然有更清洁的方法。您可以在下面看到我的解决方法。
package myboardgame
{
internal class Tile
{
private var _x:uint;
private var _y:uint;
private var _xLock:Boolean; // Makes sure that the X and Y values of a tile can only be set once to prevent errors
private var _yLock:Boolean; // " "
internal function set x(x:uint):void
{ if(!_xLock) {_x = x; _xLock = true;} else { throw new Error("Trying to change the one-time write access X tile value")}}
internal function get x():uint
{ return _x; }
}
}
编辑。我采用的解决方案:
package myboardgame
{
internal class Tile
{
private var _x:uint;
private var _y:uint;
public function Tile(x:uint, y:uint):void
{
_x = x;
_y = y;
}
internal function get x():uint
{ return _x; }
internal function get y():uint
{ return _y; }
}
}
【问题讨论】:
标签: actionscript-3 oop model-view-controller