实例属性和静态属性在Flash中的概念解析

属性分实例属性和类属性 , 类属性又称为静态属性 。 实例属性和静态属性在Flash中的概念有什么区别之处吗?笔者与大家分享一下自己的经验 。

实例属性和静态属性在Flash中的概念解析

文章插图
工具/原料Flash CS6
方法/步骤1单击“文件”---->“新建” , 新建一个“ActionScript3.0类”文档 。

实例属性和静态属性在Flash中的概念解析

文章插图

实例属性和静态属性在Flash中的概念解析

文章插图

2在类文档中输入代码 , 将它的文件名保存为“Record.as” 。

实例属性和静态属性在Flash中的概念解析

文章插图

3类代码中 , 用public修饰的属性是实例属性 , 用static修饰的属性是静态属性 。
实例属性和静态属性其实都是成员变量 , 也就是在函数外定义的变量 。

实例属性和静态属性在Flash中的概念解析

文章插图

4实例属性只能通过实例名来访问 , 静态属性只能通过类名来访问 。

实例属性和静态属性在Flash中的概念解析

文章插图

5创建一个Flash文档 , 新建一个代码图层 , 输入以下代码 。

实例属性和静态属性在Flash中的概念解析

文章插图

6运行程序 , 其结果如下图所示 。
可以看出在类内部 , 静态属性可以直接访问 , 也可以用类名来访问 。
但要注意静态属性只能在类内部访问 , 在其他地方它是不能访问的 , 而实例属性在任何地方都可以访问 。

实例属性和静态属性在Flash中的概念解析

文章插图

7如果在静态属性age前加this , 运行程序会提示错误 , 这是因为静态属性只属于类 , 不能用实例引用 , 而this表示的就是实例 。

实例属性和静态属性在Flash中的概念解析

文章插图

实例属性和静态属性在Flash中的概念解析

文章插图

8在Flash文档中创建两个实例 , 并且更改静态属性age的值 , 代码如下图所示 。

实例属性和静态属性在Flash中的概念解析

文章插图

9运行程序后 , 可以看到两个实例输出的值是一样的 。
这是因为静态属性不是某个实例特有的 , 而是所有实例共有的 , 当静态属性改变后 , 会影响所有的实例 。

实例属性和静态属性在Flash中的概念解析

文章插图

10最后 , 修改Flash文档中的代码 , 变为更改实例r1的实例属性值 , 并输出实例属性值 , 代码如下图所示 。

实例属性和静态属性在Flash中的概念解析

文章插图

11运行程序后 , 结果如下图所示 。
【实例属性和静态属性在Flash中的概念解析】可以看到两个实例输出的实例属性值并不相同 , 这是因为实例属性是实例所特有的 , 修改某个实例属性并不会影响另一个实例的属性 。

实例属性和静态属性在Flash中的概念解析

文章插图

注意事项新建Flash文档时 , 应选择“ActionScript3.0”选项 。

推荐阅读