AS3中super函数/get/set用法

以下摘录AS3帮助文档:
super 函数
       在类构造函数体内使用 super() 语句时,该语句将调用构造函数的超类版本。对超类构造函数的调用必须有正确的参数数目。请注意,不管是否显式调用超类函数,都会调用到超类构造函数。如果不是显式调用它,则将在子类构造函数体中的第一个语句前自动插入不带参数的调用。这意味着,如果在子类中定义了构造函数,并且超类构造函数具有一个或多个参数,则必须显式调用具有正确参数数目的超类构造函数,否则将产生错误。然而,根据 ActionScript 2.0 的要求,对超类构造函数的调用无需是子类构造函数中的第一个语句。
get和set 函数

    定义一个 getter,它是一种可像属性一样读取的方法。getter 是一个特殊的函数,它将返回使用 var 或 const 关键字声明的属性的值。与其它的方法不同,调用 getter 时不使用括号 (()),这样 getter 看起来就像是变量。
    定义一个 setter,它是一种在公共接口中作为属性出现的方法。setter 是一种特殊方法,它设置使用 var 关键字声明的属性的值。与其它的方法不同,调用 setter 时不使用括号 (()),这样 setter 看起来就像是变量。

通过允许创建私有属性的公共接口,Setter 允许您应用信息隐藏规则。信息隐藏的好处是:即使私有属性的基础实现发生更改,公共接口也会保持不变。

setter 的另一个优点是它们可在子类中覆盖,而使用 var 声明的属性则不能。

setter 的返回类型必须为 void 或未指定。

通过允许创建私有属性的公共接口,getter 允许您应用信息隐藏规则。信息隐藏的好处是:即使私有属性的基础实现发生更改,公共接口也会保持不变。

getter 的另一个优点是它们可在子类中覆盖,而使用 var 或 const 声明的属性则不能。

    可结合使用 getter 和 setter 创建读写属性。要创建只读属性,请创建一个没有对应 setter 的 getter。要创建只写属性,请创建一个没有对应 getter 的 setter。

     简单的说:super是用来调用父类构造函数;
get和set函数是用做隐式设置(不想直接通过改变该属性)

posted @ 2010-05-19 15:03  rob_2010  阅读(524)  评论(0编辑  收藏  举报