I'm finishing a small project, an iPhone game.
I've been expanding my GameObject class to include powerups and mines. These are physically identical to each other.
Late last night I came up with the genius idea of making two subclasses of GameObject. They're each less than a hundred lines long. I also have to do stuff like cast them to their respective subclasses when iterating over a list of GameObjects, convert betweeen NSStrings and classes...etc.
Right now I just got rid of those classes and added an int (ID) and NSString (type) to my class. It's really all the information the objects need and works well so far.
Does this go against some obvious OOP, or is this normal for something so small? Or should I do something different all together?