Allows a Class to be "specialized" into different versions.
E.g.: MKPerformer is specialized to
MKPartPerformer and
MKScorefilePerformer in the
MusicKit.
A specialized class ("subclass") need only implement that part of its behavior that is different from its parent class ("superclass").
A subclass may define instance variables. Each instance of the subclass gets the instance variables defined in both the superclass and the subclass.
Subclassing may be applied recursively, forming trees of
inheritance. All classes inherit from
NSObject. Therefore, instances of a class
are sometimes called "objects".
Inheritance can get confusing. For this reason, the MusicKit uses it sparingly.
If both the subclass and the superclass implement the same method, the subclass version takes precedence. However, the subclass can invoke the superclass version of a method as part of its own implementation of that method by sending the message to the special identifier super.