iosobjective-cabstract-classconcreteclass

Difference between Concrete class and Abstract class in Objective-C


I'm learning iOS development right now and I came across concrete and abstract class. What are the difference between these class. I've searched online but they're in other languages not in Objective-C.


Solution

  • There is nothing to stop a person from instantiating a abstract class. There is no distinction between concrete and abstract classes.

    A concrete class is one that is actually used "as is" for some purpose. A abstract class is a class that is subclassed but has little functionality on it's own. Example NSObject is a abstract class(never use it as is). UIActivityIndicator is a concrete class(pretty much always use it as is).

    The only difference is that concrete classes are ready out of the box, and abstract classes are meant to be subclassed class.