【问题标题】:Abstract Methods/Classes in Objective-C? [duplicate]Objective-C 中的抽象方法/类? [复制]
【发布时间】:2016-03-17 00:36:34
【问题描述】:

我意识到在 Objective-C 中没有抽象类。有没有办法以其他方式实现相同的功能(无法实例化的类,或必须被其子类覆盖的方法)?

【问题讨论】:

  • 也许协议可以做到这一点,使用非optional 方法?

标签: objective-c oop abstract-class


【解决方案1】:

这完全取决于您想要什么。如果您只是将类用作没有实现的接口,那么最好使用协议。如果您需要一些基本或默认实现,那么您要么记录该类不应该直接实例化(我认为现在很常见),要么实现该类以在直接实例化时抛出异常(现在不常见)。在应该由子类实现并在超类上调用的任何方法中也会抛出异常。

除非您正在创建一个将交付给其他开发人员的框架,否则通常不值得努力实施,只需记录一下即可。

【讨论】:

猜你喜欢
  • 2012-06-28
  • 2012-11-27
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
  • 2011-09-06
  • 1970-01-01
  • 2014-08-28
  • 2010-10-19
相关资源
最近更新 更多