属性分实例属性和类属性,类属性又称为静态属性。实例属性和静态属性在Flash中的概念有什么区别之处吗?笔者与大家分享一下自己的经验。
单击“文件”---->“新建”,新建一个“ActionScript3.0类”文档。
在类文档中输入代码,将它的文件名保存为“Record.as”。
类代码中,用public修饰的属性是实例属性,用static修饰的属性是静态属性。
实例属性和静态属性其实都是成员变量,也就是在函数外定义的变量。
实例属性只能通过实例名来访问,静态属性只能通过类名来访问。
创建一个Flash文档,新建一个代码图层,输入以下代码。
运行程序,其结果如下图所示。
可以看出在类内部,静态属性可以直接访问,也可以用类名来访问。
但要注意静态属性只能在类内部访问,在其他地方它是不能访问的,而实例属性在任何地方都可以访问。
如果在静态属性age前加this,运行程序会提示错误,这是因为静态属性只属于类,不能用实例引用,而this表示的就是实例。
在Flash文档中创建两个实例,并且更改静态属性age的值,代码如下图所示。
运行程序后,可以看到两个实例输出的值是一样的。
这是因为静态属性不是某个实例特有的,而是所有实例共有的,当静态属性改变后,会影响所有的实例。
最后,修改Flash文档中的代码,变为更改实例r1的实例属性值,并输出实例属性值,代码如下图所示。
运行程序后,结果如下图所示。
可以看到两个实例输出的实例属性值并不相同,这是因为实例属性是实例所特有的,修改某个实例属性并不会影响另一个实例的属性。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!