微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Objective-C如何强制子类实现方法?

另一种表达这个问题的方法是:子类是否可能成为其超类的委托?我正在尝试使我的代码在我的应用程序中可重用,并且具有子类需要实现两个方法才能实现的情况.我怎样才能确保这种情况发生?或者,定义这些方法的正确方法是什么?

更新

我并不是故意暗示我希望编译器生成标志.我只想要一种干净的方式来组织我的代码.目前我重写了超类的方法.使用这种方法,超类可以调用[super methodToOverride]并且它可以工作.然而,这对我来说并不是很干净,因为除了在某处发表评论之外,没有办法指定“这些是你应该覆盖的方法”.

解决方法

在obj-c中,不可能强制子类覆盖其超类的方法.但是你可以在超类中引发异常,因为子类没有实现某种方法. 但是子类可以是其超类的委托,如果超类不实现某些方法,并且您可以强制委托实现这些方法,如果超类指定协议,即必需的方法,并且子类采用它.

原文地址:https://www.jb51.cc/c/117433.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐