【发布时间】:2010-05-19 09:32:01
【问题描述】:
就像在java中一样:
final 类不能被子类化。这样做是出于出于安全性和效率的原因。因此,许多 Java 标准库类都是最终类,例如 java.lang.System 和 java.lang.String。 final 类中的所有方法都是隐式 final 的。
如何在 Objective-c 中实现这种行为?
【问题讨论】:
-
安全是什么意思?
java.lang.String成为final如何提高安全性? -
@jeremyP: google "using final in java" 你会得到答案。
-
试过了,没有比这更明智的了。 you 是什么意思?当我在编程上下文中听到“安全”这个词时,我通常会想到诸如防止未经授权访问数据和密码以及加密之类的事情。使 String 类最终化在这方面没有帮助。如果您的意思是“健壮性”,那么公平地说,Objective-C 具有不可变对象,但由实现者来确保它们保持不变。
-
也许他的意思是允许第三方修改 System 或 String 等核心类的行为会让他们“进入系统”并执行恶意操作。至少在未越狱的 iOS 上,我不认为应用程序开发人员以外的第三方的代码可以在运行时加载/执行,但可能还有其他我没有考虑过的场景......
标签: iphone objective-c cocoa cocoa-touch