| Abstract |
Nature vs. Nurture? The debate has obsessed the minds of psychologists
and philosophers for many years. However, for the object-orienteer, it
has never been a problem: an object inherits all of its
properties. In this work we ask if an object should not be subject to
environmental effects. We answer this question in the affirmative by
demonstrating many cases in which the character of an object must be
affected by the environment it is put in. We present a new abstraction
mechanism - Environmental Acquisition - which allows a component
to inherit properties from its enclosing composite(s). The need for
environmental acquisition is demonstrated in several application
domains. It is shown that the absence of environmental acquitision may
lead to the creating of cumbersome programs. We propose a strongly
typed model for environmental acquisition that allows static type
checking of programs exploiting this mechanism, and compare it to
several other mechanisms including ordinary inheritance and
delegation.
|