|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
运行时,它可以跨浏览器和操作系统、原汁原味地呈现具有表现力的应用程序、内容和视频,功能强大,兼容性高。
poluoluo中心提醒:会商ActionScript工具模子时,术语属性指能够作为类成员的任何成员,包含变量、常量和办法。这与《ActionScript3.0言语和组件参考》中该术语的利用体例有所分歧,后者中该术语的利用局限更窄,只包含作为变量的类成员或用getter或setter办法界说的类成员。
会商ActionScript工具模子时,术语属性指能够作为类成员的任何成员,包含变量、常量和办法。这与《ActionScript3.0言语和组件参考》中该术语的利用体例有所分歧,后者中该术语的利用局限更窄,只包含作为变量的类成员或用getter或setter办法界说的类成员。在ActionScript3.0中,供应了能够与类的任何属性(property)一同利用的一组属性(attribute)。下表列出了这组属性。
属性
界说
internal(默许)
对统一包中的援用可见。
private
对统一类中的援用可见。
protected
对统一类及派生类中的援用可见。
public
对一切地位的援用可见。
static
指定某一属性属于该类,而不属于该类的实例。
UserDefinedNamespace
用户界说的自界说定名空间名。
会见把持定名空间属性
ActionScript3.0供应了四个特别的属性(attribute)来把持对在类中界说的属性(property)的会见:public、private、protected和internal。
利用public属性(attribute)可以使某一属性(property)在剧本的任何地位可见。比方,要使某个办法可用于包内部的代码,必需利用public属性声明该办法。这合用于任何属性,不论属性是利用var、const仍是function关头字声明的。
利用private属性(attribute)可以使某一属性(property)只对属性(property)的界说类中的挪用方可见。这一举动分歧于ActionScript2.0中private属性(attribute)的举动,后者同意子类会见超类中的公有属性(property)。另外一处分明的举动变更是必需实行运转时会见。在ActionScript2.0中,private关头字只在编译时克制会见,运转时很简单避开它。在ActionScript3.0中,这类情形不复存在。标志为private的属性在编译时和运转时都不成用。
比方,上面的代码创立了名为PrivateExample的复杂类,个中包括一个公有变量,然后实验从该类的内部会见该公有变量。在ActionScript2.0中,编译时会见被克制,可是利用属性会见运算符([])能够很简单地避弛禁止,属性会见运算符在运转时(而不是编译时)实行属性查找。- classPrivateExample{privatevarprivVar:String="privatevariable";}varmyExample:PrivateExample=newPrivateExample();trace(myExample.privVar);//compile-timeerrorinstrictmodetrace(myExample["privVar"]);//ActionScript2.0allowsaccess,butinActionScript3.0,thisisarun-timeerror.
复制代码 在ActionScript3.0中利用严厉形式时,实验利用点运算符(myExample.privVar)会见公有属性会招致编译时毛病。不然,会在运转时呈报毛病,就像利用属性会见运算符(myExample["privVar"])时一样。
下表汇总了试图会见属于密封(非静态)类的private属性的了局:
严厉形式
尺度形式
点运算符(.)
编译时毛病
运转时毛病
中括号运算符([])
运转时毛病
运转时毛病
在利用dynamic属性声明的类中实验会见公有变量时,不会招致运转时毛病。只是变量不成见,以是FlashPlayerorAdobe |
|