如何解决在变量声明或构造函数内实例化类[duplicate]
|| 这个问题已经在这里有了答案:解决方法
出于可读性的考虑,首选构造函数中的初始化-以便能够轻松查看何时初始化的内容。可读性最低的选择是将它们混合在一起,我不建议这样做。
您将看到AS3程序员使用的第三个选项:
变量声明中没有初始化
空(或几乎空)构造函数
所有初始化都在一个或多个专用的init()函数中完成
此方法提供两件事:
您可以通过再次调用init轻松重置对象以供重用
您可以解决以下限制:AS3不允许您像其他类似语言(Java / C ++ / C#)一样重载构造函数。例如,您可能希望能够使用一种或多种不同类型的对象来初始化数据结构。
就性能而言,我相信您的两个示例将编译为相同的字节码。 AS3编译器为构造函数外部的静态声明创建了一个特殊的类初始化程序,但是对于在声明时进行初始化的常规成员变量,我希望它将只是将初始化移到构造函数内部。但是,它是使它们前进还是在构造函数中明确定义之后?我不记得了,这就是为什么我将可读性作为自己将所有内容放入构造函数的主要原因:-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。