任何人都可以请教我如何避免在Objective-C的子类中重写超类方法,就像Java中的“最终”概念一样。如何避免覆盖子目录中的方法c
回答
你不能。您甚至不能确定叶类的方法是否是您提供的方法,因为我们可以使用Objective-C运行时库来替换正在运行的应用程序中的方法实现。这是运行时库设计的一个有意思的特征。
好的,那么如何保护我的超类属性,即不能通过对象的存在来改变。以及开发人员在编写框架或包装时如何处理这些情况。 – chethan 2010-05-19 10:00:36
@tttthan你没有,或者你记录的要求,并希望开发人员遵循它。你可以做一些事情,比如KVC的隐藏属性或者混淆他们的使用,但是你不能阻止人们接触它们。 – 2010-05-19 10:38:07
试试这个:: http://iphonedevelopertips.com/objective-c/private-methods.html – 2012-04-30 06:13:10
嗯,我不知道“最终”等同于客观C,但如果有一个父类的方法,你不想叫就是不写具体的方法在你的子类
另外我认为用“+”前缀编写的方法与“ - ”相反是一种类方法,而不是一种实例方法,因此方法应该始终相同。
- 1. 如何避免覆盖的SqlSessionFactory
- 2. 如何覆盖子类中的方法?
- 3. 如何避免覆盖文件
- 4. 如何避免AndoridManifest与Maven覆盖
- 5. 如何避免覆盖字典追加?
- 6. 如何覆盖C#中的ToString()方法?
- 7. 避免覆盖在阵列
- 8. Spark避免分区覆盖
- 9. 避免404页面覆盖
- 10. C++中的覆盖方法
- 11. 覆盖超类中方法的目标C子类
- 12. C++覆盖方法
- 13. C++方法覆盖
- 14. 覆盖子目录中的FilesMatch
- 15. 如何覆盖目录?
- 16. 如何避免sqlite数据库被其他方覆盖
- 17. 如何覆盖ironPython下的C#方法
- 18. 避免在WordPress中覆盖htaccess
- 19. 如何避免在python中覆盖全局字典中的键?
- 20. 的Python避免覆盖变量
- 21. 避免意外的固件覆盖
- 22. 避免覆盖列表的值 - Python(Pandas)
- 23. 如何避免在Python中覆盖系统库的属性?
- 24. 如何避免覆盖Firebase中的数据
- 25. 如何避免父级中定义的Maven插件被孩子覆盖?
- 26. 覆盖子接口方法
- 27. 如何避免特定目录的RewriteRule?
- 28. 覆盖多个目录的git子树
- 29. 如何覆盖更改并避免在GIT中合并
- 30. 如何避免在openshift tomcat中部署后每次覆盖server.xml
这个问题也可能揭示这个问题: http://stackoverflow.com/questions/2864273/how-to-avoid-the-base-class-member-functions-getting-overridden-by-sub -class-in-o/2864554 – 2010-05-19 10:20:03