一、set函数
set definition keyword code
用法 function set property(newValue:*) : void{ // your statements here } 语言版本 : ActionScript 3.0 RuntimeVersions: Flash Player 9定义一个 setter 方法,用做公用接口中的属性。 setter 是一种特殊的方法,它能够为使用 var
关键字声明的属性设置值。与其余方法不一样,调用 setter 时不须要使用圆括号 (()
),这使得 setter 看起来像是变量。 接口
您能够使用 setter 为私有属性建立公用接口,进而应用信息隐藏原则。隐藏信息的优势在于即便私有属性的基础实现发生更改,公用接口仍保持不变。ip
setter 的另外一项优势是在子类中能够被覆盖,而使用 var
声明的属性则不能够。ci
setter 的返回类型必须是 void
或不指定任何类型。get
setter 可与 getter 结合使用来建立可读写的属性。若要建立只读属性,须要建立一个不带相应 setter 的 getter。若要建立只写属性,须要建立一个不带相应 getter 的 setter。it
注意:仅支持在外部脚本文件中使用此关键字,而不支持在使用“Actions”面板编写的脚本中使用此关键字。io
参数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
二、getgetdefinition keyword 用法 function get property() : returnType{ // your statements here }
语言版本 : ActionScript 3.0
RuntimeVersions: Flash Player 9
定义一个 getter 方法,能够像读取属性同样读取该方法。 getter 是一个特殊的函数,它返回使用 var
或 const
关键字声明的属性的值。与其它方法不一样,调用 getter 时不须要括号 (()
),这使得 getter 看起来像是一个变量。 function
您能够使用 getter 为私有属性建立公用接口,进而应用信息隐藏原则。隐藏信息的优势在于即便私有属性的基础实现发生更改,公用接口仍保持不变。class
getter 的另外一项优势是在子类中能够被覆盖,而使用 var
或 const
声明的属性则不能够。
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 方法返回该属性的值。