Additional Notes
Foreign language objects appear to behave exactly as native objects, meaning that methods are called in native syntax. For typical usage, this is the only thing that matters.
The foreign language objects are not, however, truely native. The objects are actually "bridge objects", which forward method calls to the native object. Practically speaking, this means a couple of things:
- Bridge objects always appear to be of the same type, no matter what type they actually represent in their native language.
- Functions that inspect internal object state will be inspecting the bridge object, not the object that the bridge represents.
- Duplicate object names between steve and Python are not strictly prohibited, but will cause difficulties so be sure to
give objects unique name. When mixing objects of the case of built-in breve classes (such as Stationary or Real), it may be necessary to create object subclasses with unique names to resolve ambiguities. This situation may arise, for example, when adding a collision handler for a standard object.
These details are subtle and do not effect most typical object usage. Just remember that bridge objects are "shells" for other objects, and not the actual objects they appear to be.
