We present an extension for a Java like language with a mechanism for dynamically extending object behaviors. Our approach consists in moving the addition of new features from class (static) level to object (dynamic) level: the basic features of entities (representing their structure) are separated from the additional ones (wrapper classes whose instances represent run-time added behaviors). At run-time, these entities can be dynamically composed by instantiating wrapper objects which are attached to basic entities. We formalize our extension by adding the new constructs to Featherweight Java; the core language so extended (Featherweight Wrap Java) is type safe.
Featherweight Wrap Java / L. BETTINI; S. CAPECCHI; E. GIACHINO. - STAMPA. - (2007), pp. 1094-1100. (Intervento presentato al convegno The 22nd Annual ACM Symposium on Applied Computing, Special Track on Object-Oriented Programming Languages and Systems (OOPS)) [10.1145/1244002.1244242].
Featherweight Wrap Java
BETTINI, LORENZO;
2007
Abstract
We present an extension for a Java like language with a mechanism for dynamically extending object behaviors. Our approach consists in moving the addition of new features from class (static) level to object (dynamic) level: the basic features of entities (representing their structure) are separated from the additional ones (wrapper classes whose instances represent run-time added behaviors). At run-time, these entities can be dynamically composed by instantiating wrapper objects which are attached to basic entities. We formalize our extension by adding the new constructs to Featherweight Java; the core language so extended (Featherweight Wrap Java) is type safe.I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.