sswift: No, you see, it would be like this:
Maybe that makes sense. The idea is that you can break things down into a primitive form. In this case, the calculator isn't a Calculator type, all it does is implement the IPhysics interface.
BUT, BlitzMax doesn't support interfaces, so you would be better off to use a collection of components to compose the objects. E.g., a calculator would have the Physics, Interactive, and Renderable components in the case of a game where the calculator could be thrown around, interacted with, and drawn.
That probably confused everyone...
void Hand::Push( IPhysics& object, double force ) { object.ApplyForce( force ); }
Maybe that makes sense. The idea is that you can break things down into a primitive form. In this case, the calculator isn't a Calculator type, all it does is implement the IPhysics interface.
BUT, BlitzMax doesn't support interfaces, so you would be better off to use a collection of components to compose the objects. E.g., a calculator would have the Physics, Interactive, and Renderable components in the case of a game where the calculator could be thrown around, interacted with, and drawn.
That probably confused everyone...