加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex set和get关键字用法

发布时间:2020-12-15 03:30:46 所属栏目:百科 来源:网络整理
导读:Flex set和get关键字用法 1、set ??????????????????????? set??????????????? definition keyword???????????????????????? 用法????????????????????????????????????????????????? function set property(newValue:*) : void{? // your statements here }

Flex set和get关键字用法

1、set

??????????????????????? set??????????????? definition keyword????????????????????????

用法????????????????????????????????????????????????? function set property(newValue:*) : void{? // your statements here }???????????????????????

语言版本 : ??????????? ActionScript 3.0??????????????????????????????????? RuntimeVersions: ??????????? Flash Player 9???????????

定义一个 setter 方法,用作公用接口中的属性。 setter 是一种特殊的方法,它可以为使用 var 关键字声明的属性设置值。与其他方法不同,调用 setter 时不需要使用圆括号 (()),这使得 setter 看起来像是变量。

您可以使用 setter 为私有属性创建公用接口,进而应用信息隐藏原则。隐藏信息的优点在于即使私有属性的基础实现发生更改,公用接口仍保持不变。

setter 的另一项优点是在子类中可以被覆盖,而使用 var 声明的属性则不可以。

setter 的返回类型必须是 void 或不指定任何类型。

setter 可与 getter 结合使用来创建可读写的属性。若要创建只读属性,需要创建一个不带相应 setter 的 getter。若要创建只写属性,需要创建一个不带相应 getter 的 setter。

注意:仅支持在外部脚本文件中使用此关键字,而不支持在使用“Actions”面板编写的脚本中使用此关键字。

参数????????????????????????????????????? property:* — 由 set 修改的属性的标识符;此值必须与对应的 get 命令使用的值相同。????????????????????????????????????????? newValue:* — 要分配的新值。????????????
示例
如何使用示例
以下示例通过定义 getter-setter 创建了可读写的属性 age。 package {??? class User {???????? private var userAge:Number;???????????????? public function get age():Number {??????????? return userAge;??????? }??????????????? public function set age(x:Number):void {??????????? userAge = x;??????????? }??? } } 在您的脚本中输入以下代码: var myUser:User = new User();myUser.age = 25;trace(myUser.age); // 25? 2、getgetdefinition keyword 用法? function get property() : returnType{? // your statements here }

语言版本 : ??????????? ActionScript 3.0??????????????????????????????????? RuntimeVersions: ??????????? Flash Player 9???????????

定义一个 getter 方法,可以像读取属性一样读取该方法。 getter 是一个特殊的函数,它返回使用 var const 关键字声明的属性的值。与其它方法不同,调用 getter 时不需要括号 (()),这使得 getter 看起来像是一个变量。

您可以使用 getter 为私有属性创建公用接口,进而应用信息隐藏原则。隐藏信息的优点在于即使私有属性的基础实现发生更改,公用接口仍保持不变。

getter 的另一项优点是在子类中可以被覆盖,而使用 varconst 声明的属性则不可以。

getter 可与 setter 结合使用来创建可读写的属性。若要创建只读属性,需要创建一个不带相应 setter 的 getter。若要创建只写属性,需要创建一个不带相应 getter 的 setter。

注意:若要使用此关键字,必须在 FLA 文件的“Publish Settings”对话框的“Flash”选项卡上指定 ActionScript 2.0 和 Flash Player 6 或更高版本。仅支持在外部脚本文件中使用此关键字,而不支持在使用“Actions”面板编写的脚本中使用此关键字。

参数???????????????????????????????????? property:*get 所访问的属性的标识符;此值必须与相应的 set 命令中使用的值相同。????????????????????????????????????????? returnType:* — 返回值的数据类型。????????????
示例
如何使用示例
以下示例定义一个 Team 类。 Team 类包含允许您检索和设置类中的属性的 getter 和 setter 方法:package {??? public class Team {???????? var teamName:String;???????? var teamCode:String;???????? var teamPlayers:Array = new Array();???????? public function Team(param_name:String,param_code:String) {???????????? teamName = param_name;???????????? teamCode = param_code;???????? }???????? public function get name():String {???????????? return teamName;???????? }???????? public function set name(param_name:String):void {???????????? teamName = param_name;???????? }??? } }在您的脚本中输入以下代码:var giants:Team = new Team("San Fran","SFO"); trace(giants.name); giants.name = "San Francisco"; trace(giants.name); /*San Fran San Francisco */

在跟踪 giants.name 时,使用 getter 方法返回该属性的值。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读