Question about abtracting box2d update and contact methods to individual classes

I created a a gameobject class, and I extend different objects like player and enemies from this class. These class has an initWithWorld(b2World world,MyContactListener contactListener), and in these individual classes im running an update method that detects for collision and update the sprite etc. I’m doing this so I can reference unique methods for each game object. Before doing this I could only access the actor (which was a simple sprite), and it was difficult to reference the class object I needed to to make changes

Is this correct, or is there a better way?