【发布时间】:2016-03-17 00:36:34
【问题描述】:
我意识到在 Objective-C 中没有抽象类。有没有办法以其他方式实现相同的功能(无法实例化的类,或必须被其子类覆盖的方法)?
【问题讨论】:
-
也许协议可以做到这一点,使用非
optional方法?
标签: objective-c oop abstract-class
我意识到在 Objective-C 中没有抽象类。有没有办法以其他方式实现相同的功能(无法实例化的类,或必须被其子类覆盖的方法)?
【问题讨论】:
optional 方法?
标签: objective-c oop abstract-class
这完全取决于您想要什么。如果您只是将类用作没有实现的接口,那么最好使用协议。如果您需要一些基本或默认实现,那么您要么记录该类不应该直接实例化(我认为现在很常见),要么实现该类以在直接实例化时抛出异常(现在不常见)。在应该由子类实现并在超类上调用的任何方法中也会抛出异常。
除非您正在创建一个将交付给其他开发人员的框架,否则通常不值得努力实施,只需记录一下即可。
【讨论】: