Mar*_*rty 12 oop actionscript-3
我最近习惯在final任何逻辑地使用关键字,就像任何永远不应该扩展的类一样.
我这样做纯粹是因为我喜欢保持严格而简洁的编码风格.
除了在为其他方开发应用程序/游戏基础或与他人合作等情况下的明显优势之外,使用时是否有任何实际好处final?即表现.
wel*_*rat 11
根据这个广泛的测试,final关键字在性能方面没有丝毫差别.
这种方式final在ActionScript中使用,这并不奇怪:final关键字只标记类和类方法,因此它只影响继承.我认为没有合理的理由为什么调用final方法应该比调用任何其他方法更快:运行时仍然需要查找函数指针并执行调用.Java中的方法和类
也是如此.但是,在Java中,也将引用标记为不可变.与在ActionScript中使用相比,这是一个很大的优势,因为它允许编译器"内联"值(即将字节代码中对变量的所有引用替换为其实际值,从而消除了查找过程),其中包括其他好处 - 可以加快性能.也许我们会在未来的ActionScript版本中看到这一点的使用 - 这也是一个更好的代码清晰度和防止副作用的好主意.final
出于这些原因,final即使您不与其他程序员合作,我仍然认为在预期行为需要方法或类禁止覆盖的情况下使用它是一种好习惯:它澄清了意图并防止了不良影响.因此,它将加速发展,这也不是一件坏事;)