快速业务通道

ActionScript3.0教程:方法

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-09
return 语句之前调用。

下面的示例说明如果在调用 super() 构造函数之前尝试使用 super 引用,将会发生什么情况。新类 ExampleEx 扩展了 Example 类。ExampleEx 构造函数尝试访问在其超类中定义的状态变量,但访问是在调用 super() 之前进行的。ExampleEx 构造函数中的 trace() 语句生成了 null 值,原因是 status 变量在 super() 构造函数执行之前不可用。

class ExampleEx extends Example 
{ 
    public function ExampleEx() 
    { 
        trace(super.status); 
        super(); 
    } 
} 
 
var mySample:ExampleEx = new ExampleEx(); // output: null

虽然在构造函数中使用 return 语句是合法的,但是不允许返回值。换句话说,return 语句不得有相关的表达式或值。因此,不允许构造函数方法返回值,这意味着不可以指定任何返回值。

如果没有在类中定义构造函数方法,编译器将会为您自动创建一个空构造函数。如果某个类扩展了另一个类,编译器将会在所生成的构造函数中包括 super() 调用。

静态方法

静态方法也叫做类方法,它们是使用 static 关键字声明的方法。静态方法附加到类而不是类的实例,因此在封装对单个实例的状态以外的内容有影响的功能时,静态方法很有用。由于静态方法附加到整个类,所以只能通过类访问静态方法,而不能通过类实例访问。

静态方法为封装所提供的功能不仅仅在影响类实例状态的方面。换句话说,如果方法提供的功能对类实例的值没有直接的影响,该方法应是静态方法。例如,Date 类具有名为 parse() 的静态方法,它接收字符串并将其转换为数字。该方法就是静态方法,因为它并不影响类的单个实例。而 parse() 方法使用表示日期值的字符串,分析该字符串,然后使用与 Date 对象的内部表示形式兼容的格式返回一个数字。此方法不是实例方法,因为将该方法应用到 Date 类的实例并没有任何意义。

请将静态 parse() 方法与 Date 类的一个实例方法(如 getMonth())相比较。getMonth() 方法是一个实例方法,因为它通过检索 Date 实例的特定组件(即 month),对实例值直接执行操作。

由于静态方法不绑定到单个实例,因此不能在静态方法体中使用关键字 this 或 super。this 和 super 这两个引用只在实例方法上下文中有意义。

与其它基于类的编程语言不同,ActionScript 3.0 中的静态方法不是继承的。

实例方法

实例方法指的是不使用 static 关键字声明的方法。实例方法附加到类实例而不是整个类,在实现对类的各个实

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号