快速业务通道

ActionScript3.0教程:方法

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-09
例有影响的功能时,实例方法很有用。例如,Array 类包含名为 sort() 的实例方法,该实例方法直接对 Array 实例执行操作。

在实例方法体中,静态变量和实例变量都在作用域中,这表示使用一个简单的标识符可以引用同一类中定义的变量。例如,以下类 CustomArray 扩展了 Array 类。CustomArray 类定义一个名为 arrayCountTotal 的静态变量(用于跟踪类实例总数)、一个名为 arrayNumber 实例变量(用于跟踪创建实例的顺序)和一个名为 getPosition() 的实例方法(用于返回这两个变量的值)。

public class CustomArray extends Array 
{ 
    public static var arrayCountTotal:int = 0; 
    public var arrayNumber:int; 
 
    public function CustomArray() 
    { 
        arrayNumber = ++arrayCountTotal; 
    } 
     
    public function getArrayPosition():String 
    { 
         return ("Array " + arrayNumber + " of " + arrayCountTotal); 
    } 
}

虽然类外部的代码必须使用 CustomArray.arrayCountTotal 通过类对象来引用 arrayCountTotal 静态变量,但是位于 getPosition() 方法体中的代码可以直接引用静态 arrayCountTotal 变量。即使对于超类中的静态变量,这一点也适用。虽然在 ActionScript 3.0 中不继承静态属性,但是超类的静态属性在作用域中。例如,Array 类有几个静态变量,其中一个是名为 DESCENDING 的常量。位于 Array 子类中的代码可以使用一个简单的标识符来引用静态常量 DESCENDING。

public class CustomArray extends Array 
{ 
    public function testStatic():void 
    { 
        trace(DESCENDING); // output: 2 
    } 
}

实例方法体中的 this 引用的值是对方法所附加实例的引用。下面的代码说明 this 引用指向包含方法的实例:

class ThisTest 
{ 
    function thisValue():ThisTest 
    { 
        return this; 
    } 
} 
 
var myTest:ThisTest = new ThisTest(); 
trace(myTest.thisValue() == myTest); // output: true

使用关键字 override 和 final 可以控制实例方法的继承。可以使用 override 属性重新定义继承的方法,以及使用 final 属性禁止子类覆盖方法。有关详细信息,请参阅覆盖方法。

get 和 set 存取器方法

get 和 set 存取器函数还分别称为 gettersetter,可以使用这些函数为创建的类提供易于使用的编程接口,并遵循信息隐藏和封装的编程原则。使用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号