Objective-C中的抽象方法/类?

时间:2015-12-11 06:56:29

标签: objective-c oop abstract-class

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

1 个答案:

答案 0 :(得分:1)

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

除非您正在创建一个将交付给其他开发人员的框架,否则通常不值得实施,只需要文档。