Previous | Table of Contents | Next |
Many programming languages map Object to programming constructs that support inheritance. Mappings to languages (such as
C++ and Java) typically provide a mechanism for narrowing (down-casting) an object reference from a base interface to a more
derived interface. To do such down-casting in a type safe way, knowledge of the full inheritance hierarchy of the target interface
may be required. The implementation of down-cast must either contact an interface repository or the target itself, to determine
whether or not it is safe to down-cast the clientÃs object reference. This requirement is not acceptable when a client is
expecting only asynchronous communication with the target. Therefore, for the appropriate languages an unchecked down-cast
operation (also referred to as unchecked narrow operation) shall be provided in the mapping of Object. This unchecked narrow
always returns a stub of the requested type without checking that the target really implements that interface.