欢迎来到天天文库
浏览记录
ID:16063669
大小:947.00 KB
页数:6页
时间:2018-08-07
《flash actionscript3.0存取器方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、存取器方法get和set我们在构造类的时候呢还有一种比较有意思的方法,叫存取器方法或者称之为存取器函数,被大量地使用。这种存取器的方法使用的是2个关键字get和set。通过set(也就是存)还有get(也就是取)关键字来定义函数,成为一种易用的编程结构,允许类用户访问属性一样的函数,同时也保持了信息的隐藏和封装的编程原则。刚才我们所说的这些大家可能认为不够直观。我们来看一个具体的例子。在这个代码段当中呢,我们首先声明了n,n是Number类型的一个变量,它存储的值95。那么在一般的定义当中呢我们有可能会先把n隐藏起来,也就是我们把它定义成
2、private私有的一个变量,那么用户是无法通过外围直接访问到它的。接着呢我们定义了一个存取器方法,先是声明函数关键字function,然后关键字get(取的一个方法),接着函数名score,后边跟的是返回的数据类型(Number类型的)。整个函数呢是要实现returnn;假如n是隐藏的,那么它可以通过这个取的方法,取到这个n。当使用了get关键字之后呢,这个函数或者方法的名称score本身就不需要再向像我们以前score();来调用这个函数了,它本身就像变量的访问一样的一个函数,那么我可以直接trace(score)。大家可以看到输出是
3、95,也就是score里面会输出n的值,n在我们程序设计当中是隐藏起来的,它可以通过score来访问到。那么同样,这个score能不能赋值呢?注意,现在我只有get(取),没有set(存)。我现在尝试给score赋一个值100。大家可以看,这个时候会提示属性是只读的。这是为什么呢?这是因为我们只给score赋予了取的功能,它没有存的功能,实现了一个只读变量的实现方式。那么如果我们要实现存的方法,我们应该怎么办呢?我们要用set。注意,setscore(n)实际上要跟一个变量n,这个n呢是我们要赋给score的值。this.n=n;这是一般
4、的这个函数的书写方式,set的书写方式。下面我们像变量一样为score赋值,score=100;。同样,如果我把取的方法注销掉,大家再来看,访问的属性score未定义。那这个时候它实际上相当于score只能存不能取了。如果我们现在追踪输出来看一下n的值。我们会注意到现在n已经变成了100。为什么呢?因为现在它可以存,我把score这个值赋值过去之后,它就存在变量n里边。通过这个存取器方法呢,它可以轻松的实现一些变量的隐藏啊,或者只读属性啊,或者只允许写不允许读这种单一的属性。
此文档下载收益归作者所有