【发布时间】:2012-11-14 14:03:10
【问题描述】:
取以下代码:
private var m_iQuanitity:int;
public function get quantity():int
{
return m_iQuantity;
}
这似乎很有道理。您可以毫无问题地从外部课程中看到数量是多少,但您根本无法真正弄乱它。现在获取以下代码:
private var m_acUsers:ArrayCollection = new ArrayCollection();
public function get users():ArrayCollection
{
return m_acUsers;
}
在这种情况下,您不能真正直接设置变量,但您仍然可以对它进行几乎所有其他事情,而不会出现任何问题。你可以调用它的 AddItem 和 RemoveItemAt 函数,它们可以做很多“设置”变量。
这样做还有意义吗?我知道您可以创建一个重复的 ArrayCollection,然后将副本传回以避免设置它,但是在整个地方做这样的事情,纯粹是为了防御性编程,会浪费大量的 CPU 时间。所以我想我是在问它是否仍然有意义,如何,如果我错过了完全使用 get 和 set 的意义?谢谢!
【问题讨论】:
标签: actionscript-3 class properties get class-design