关于oop:Objective-C中的抽象方法/类?

Abstract Methods/Classes in Objective-C?

本问题已经有最佳答案,请猛点这里访问。

我已经意识到在Objective-C中没有抽象类。有没有其他方法来实现相同的功能(无法实例化的类,或者必须由其子类重写的方法)?


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

除非您正在创建一个将交付给其他开发人员的框架,否则通常不值得进行实现工作,只需记录文档即可。