《 Essential ActionScript 2.0 》中文精华版 第 12 期
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-12
* 无参数构造器 */ private function boxNoArgs ( ):Void { // arguments.caller是对于调用该函数的函数的引用 // 如果Box构造器没有调用该方法,则退出 if (arguments.caller != Box) { return; } // 为width和height提供缺省值 width = 1; height = 1; } /** * 字符串构造器 */ private function boxString (size):Void { // 如果Box构造器没有调用该方法,则退出 if (arguments.caller != Box) { return; } // 根据描述字符串设置width和height if (size == "large") { width = 100; height = 100; } else if (size == "small") { width = 10; height = 10; } else { trace("Invalid box size specified"); } } /** * 数字构造器 */ private function boxNumberNumber (w, h):Void { // 如果Box构造器没有调用该方法,则退出 if (arguments.caller != Box) { return; } // 设置width和height的数字值 width = w; height = h; } } // 用法: var b1:Box = new Box( ); trace(b1.width); // 显示: 1 var b2:Box = new Box("large"); trace(b2.width); // 显示: 100 var b3:Box = new Box(25, 35); trace(b3.width); //显示: 25 4.5.2 Using this in Constructor Functions (在构造函数中使用this)在构造函数体中,this关键字引用新建的实例。只有从新建实例中引用方法时,我们才会在构造函数中使用this。例如,以下代码使用this解决了一个参数与属性的命名冲突: public function Box (width:Number, height:Number) { // 设置width属性(this.width)为width参数的值(width) this.width = width; //设置height属性(this. height)为height参数的值(height) this.height = height; }4.5.3 Constructor Functions Versus Default Property Values (构造函数vs.缺省属性值) 在本章前面我们学过了,一个实例属性可以被赋予一个缺省值,这个值必须是一个编译时常量表达式,如10或“hello world”。例如: private var x:Number = 10; private var msg:String = "hello world";尽管通过为一个实例属性赋予一个缺省值来对其进行初始化是合法的,但最佳实践是,在一个构造函数中完成所有实例属性的初始化。构造函数不受编译时常量规则的限制,因此它们可以通过任意代码,例如方法调用、条件、循环等,安全地计算属性值。此外,通过在构造器中进行属性初始化,使得我们的类初始化代码更易查找和维护。 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 水中浮动的文字下一篇: 让多个物体组合在一起 (大力神版)
关于《 Essential ActionScript 2.0 》中文精华版 第 12 期的所有评论