FlashActionScript.存取器方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FlashActionScript.存取器方法.doc

存取器方法get和set 我们在构造类的时候呢还有一种比较有意思的方法,叫存取器方法或者称之为存取器函数,被大量地使用。这种存取器的方法使用的是2个关键字get和set。通过set(也就是存)还有get(也就是取)关键字来定义函数,成为一种易用的编程结构,允许类用户访问属性一样的函数,同时也保持了信息的隐藏和封装的编程原则。 刚才我们所说的这些大家可能认为不够直观。我们来看一个具体的例子。在这个代码段当中呢,我们首先声明了n,n是Number类型的一个变量,它存储的值95。那么在一般的定义当中呢我们有可能会先把n隐藏起来,也就是我们把它定义成private私有的一个变量,那么用户是无法通过外围直接访问到它的。接着呢我们定义了一个存取器方法,先是声明函数关键字function,然后关键字get(取的一个方法),接着函数名score,后边跟的是返回的数据类型(Number类型的)。整个函数呢是要实现return n;假如n是隐藏的,那么它可以通过这个取的方法,取到这个n。当使用了get关键字之后呢,这个函数或者方法的名称score本身就不需要再向像我们以前score();来调用这个函数了,它本身就像变量的访问一样的一个函数,那么我可以直接trace(score)。大家可以看到输出是95,也就是score里面会输出n的值,n在我们程序设计当中是隐藏起来的,它可以通过score来访问到。 那么同样,这个score能不能赋值呢?注意,现在我只有get(取),没有set(存)。我现在尝试给score赋一个值100。大家可以看,这个时候会提示属性是只读的。这是为什么呢?这是因为我们只给score赋予了取的功能,它没有存的功能,实现了一个只读变量的实现方式。 那么如果我们要实现存的方法,我们应该怎么办呢?我们要用set。注意,set score(n)实际上要跟一个变量n,这个n呢是我们要赋给score的值。this.n = n;这是一般的这个函数的书写方式,set的书写方式。下面我们像变量一样为score赋值,score=100;。 同样,如果我把取的方法注销掉,大家再来看,访问的属性score未定义。那这个时候它实际上相当于score只能存不能取了。 如果我们现在追踪输出来看一下n的值。我们会注意到现在n已经变成了100。为什么呢?因为现在它可以存,我把score这个值赋值过去之后,它就存在变量n里边。 通过这个存取器方法呢,它可以轻松的实现一些变量的隐藏啊,或者只读属性啊,或者只允许写不允许读这种单一的属性。

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档