在Flash定义的类中,构造函数可以有参数,也可以没有参数,如果构造函数没有参数,当调用子类构造函数时,可以自动调用父类构造函数。
笔者与大家分享一下这个经验。
首先,新建一个文档类文件Record.as,将它保存在一个文件夹中,本例为“无参构造函数”。
在类中,插入MovieClip类,代码如下图所示。
定义Record类,继承插入的MovieClip类。
接着,定义构造函数Record,在构造函数中创建一个Worker类的实例,并用trace输出该实例。
接下来,在Record类下方,再定义一个类Manager。
在类中定义两个私有变量nation和sex,变量的类型为String。
定义Manager的构造函数,在函数中输出“运行Manager类的构造函数”。
定义一个函数toString,输出nation和sex的值。
然后,在最下方定义一个类Worker,继承Manager类,即Worker类是Manager类的子类。
定义Worker类的构造函数,在函数中输出“运行Worker类的构造函数”。
新建一个Flash文档,打开动作面板。
先创建一个Record类的实例,用变量p引用它。
接着,执行函数Record,输出测试信息。
运行程序,可以看到Manager类构造函数的信息和Worker类构造函数的信息,输出在窗口中了,但在Record函数中我们只调用了Worker类,为什么会调用Manager类呢?
这是因为如果类的构造函数没有参数,在子类的构造函数中,可以自动调用父类的构造函数。
接下来,我们完善Manager类,输入变量nation和sex的值,如下图所示。
回到Flash文档,运行程序可以看到nation和sex的值正常显示,说明子类Worker的确是自动调用了父类Manager的构造函数。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!