Objective-C, classes, arrays, polymorphism, inheritance