AS3相关,请问类中使用public和private定义变量的实际场合是怎样的?
答案:3 mip版
解决时间 2021-01-08 23:39
- 提问者网友:童話被染上了傷
- 2021-01-08 05:35
对于外部类使用其他类时,我知道private可以使用set/get来操作,但是直接使用public不是更加简便吗? 请有经验的人来谈谈这个?
最佳答案
- 二级知识专家网友:儚迴从偂
- 2021-01-08 05:48
你是说,定义变量时,为什么不直接用 public var 定义 而是用 private var 定义之后再用 set 或 get 来操作?
这个是因条件而定的,如果你定义的变量只是为了储存一个值,外部访问时只是为了改变或者获取它的值的时候,你大可不必用set / get 来操作,只用public 来定义就好!如果你定义的变量只能被外部读取但无法改变值,那么就用只用get操作,只能被外部设置而无法读取那么就只设置它的set属性,当一个变量具有set 和 get两种属性时,你就要考虑到它的用处了,比如:
public function set initX ( val:Number ){
this.x = val;
}
当你赋予initX值的时候,也同样更新了x属性的值,那么就和普通的赋值不一样了。因为它是调用的函数,所以当你赋值或获取值的时候,它就会更新一遍函数里面的公式,这大概就是它们的不同用法吧!
这个是因条件而定的,如果你定义的变量只是为了储存一个值,外部访问时只是为了改变或者获取它的值的时候,你大可不必用set / get 来操作,只用public 来定义就好!如果你定义的变量只能被外部读取但无法改变值,那么就用只用get操作,只能被外部设置而无法读取那么就只设置它的set属性,当一个变量具有set 和 get两种属性时,你就要考虑到它的用处了,比如:
public function set initX ( val:Number ){
this.x = val;
}
当你赋予initX值的时候,也同样更新了x属性的值,那么就和普通的赋值不一样了。因为它是调用的函数,所以当你赋值或获取值的时候,它就会更新一遍函数里面的公式,这大概就是它们的不同用法吧!
全部回答
- 1楼网友:敌不过时间逃不过距离
- 2021-01-08 07:56
那倒未必
- 2楼网友:一个超人
- 2021-01-08 06:17
你好!
可以让你的代码封装得更好,更漂亮。
我的回答你还满意吗~~
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯