最重要的是,我需要从外部阻止该方法,或者在直接调用超类时抛出异常. (但我仍然从子类中使用它,除非小心).
最好的方法是什么?
更新—
所以这就是我的目标.我不是自我回答,因为Boaz的回答提到了多种有效的方法,这就是适合我的方式.在子类中,我重写了这样的方法:
- (int)dangerousMethod{ [NSException raise:@"Danger!" format:@"Do not call send this method directly to this subclass"]; return nil;}
我将此标记为已回答,但显然这并不意味着它已经结束,欢迎进一步的建议.
解决方法 只要新实现不调用不安全的超类方法,只需在子类中重新实现不安全的方法并让它不执行任何 *** 作或抛出异常或重新实现它是安全的.对于这里的C工作人员:Objective C不允许您将方法标记为私有.您可以使用其类别系统将界面拆分为单独的文件(从而隐藏“私有”文件),但类上的所有方法都是公共的.
总结以上是内存溢出为你收集整理的objective-c – 如何阻止将超类方法调用到子类全部内容,希望文章能够帮你解决objective-c – 如何阻止将超类方法调用到子类所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)