当前位置:主页>flash教程>文章内容
AS 2.0 static 关键字
来源: 作者: 发布时间:2007-04-30  
  static关键字在 ActionScript 2.0 里面也比较重要。如果一个属性是静态的,那么我们可以直接调用……

  static(静态)关键字在 ActionScript 2.0 里面也比较重要。如果一个属性是静态的,那么我们可以直接调用,而不用去使用类的Instance 来调用。大部分属性都是要通过类的 Instance 来操作的,那就意味着,它们不是静态的。

  例子:

// 创建 myClass 的 Instance myInstance
myInstance = new myClass();
// 调用其中一个属性
trace(myInstance.property1);

  如果这个属性 property1 是静态的,那么我们就可以直接这样调用:

// 直接通过主类调用
trace(myClass.property1);

  在 Flash 里面,拥有最多静态属性的类可能就是 Date 了,它所有的属性都是通过直接调用 Date 类获得的。我们可以直接这样:Date.getUTCMinutes(),而不用创建一个新的 Instance ,再通过这个 Instance 去获得需要的属性。可以这样说,静态的属性或者方法只会在主类里面创建一次,而不需要在每一个类成员里面都复制一个。

  我们可以自己创建静态属性或者方法。下面是一个例子:

class Geometry {
  static function getDistance(mc1, mc2) {
  var distance:Number = Math.sqrt((mc1._x - mc2._x)*(mc1._x - mc2._x)+(mc1._y 
  - mc2._y)*(mc1._y - mc2._y));
  return distance;
  }
}

  静态函数 getDistance() 会返回两个 MovieClip 之间的距离。我们可以在其它文件里面这样调用它:

distance_between_2_dots = Geometry.getDistance(dot1, dot2);

  如果您去掉“static”,然后还想像上面的方法一样调用 getDistance(),那么您将得到如下的 AS 2.0 出错信息:

  The property being referenced does not have the static attribute


 
上一篇:ActionScript的基本语法规则   下一篇:Flash与后台编码问题解决新方案
 
  相关文章
·ActionScript的基本语法规则
·Flash与后台编码问题解决新方案
·MovieClipLoader 介绍
·如何正确理解_root/_level/depth的关系
·AS1.0的OOP 与 AS2.0的OOP对比
·一天一个代码(第一部分)
·AS代码2.0:针对Flash Player 7
·公有成员和私有成员
·用Flash AS实现画图的详细讲解
·怎样防止 ASV 查看源代码
·《物理学的弹性》分析
·As2 Class 的 Private 属性
 
【关闭窗口】
推荐本站资源
最新文章