读书人

请问个简单的基础语法有关问题

发布时间: 2012-02-12 17:16:34 作者: rapoo

请教个简单的基础语法问题
定义两个类
public class demo
{
public var loc:int;
}

public class demo1
{
private var _loc:int;

public function set loc(n:int):void
{
this._loc=n;
}

public function get loc():int
{
return this._loc;
}
}

其实这个两个的用法都可以
demo.loc = 1; 或 var i:int = demo.loc
demo1.loc = 1; 或 var i:int = demo1.loc
请问有什么具体的区别么,或者两者有什么不同。

[解决办法]
访问属性的问题:
1、如果定义成public则所有类都能访问
2、定义get set属性则可封装和保护类的成员loc,可以约束为只读,只写等属性
[解决办法]
2、定义get set属性则可封装和保护类的成员loc,可以约束为只读,只写等属性
可以再set,get方法里面做一些其他的事情,当有需要的时候。

不过一旦在set,get方法里加入了其他代码,则不能直接用[Bindable]标签绑定属性了,需要自定义一个绑定事件,也很简单,[Bindable("XXXEvent")]就可以了,当属性发生变化时,dispatch一个XXXEvent事件,属性的值就会自动同步到被绑定源上,个人在set,get方法里用的最多的就是invalidateProperties();invalidateSize();invalidateDisplayList();中的某一个或某几个,做多了你就知道了的

读书人网 >flex

热点推荐