Object Incompleteness and Dynamic Composition in Java-Like Languages [chapter]

Lorenzo Bettini, Viviana Bono, Betti Venneri
2008 Lecture Notes in Business Information Processing  
Object composition is often advocated as a more flexible alternative to standard class inheritance since it takes place at run-time, thus permitting the behavior of objects to be specialized dynamically. In this paper we present Incomplete Featherweight Java (IFJ), an extension of Featherweight Java with incomplete objects, i.e., objects that require some missing methods which can be provided at run-time by composition with another (complete) object. Incomplete object usage is disciplined by
more » ... tic typing, therefore the language enjoys type safety (which implies no "message-not-understood" run-time errors).
doi:10.1007/978-3-540-69824-1_12 fatcat:xmtgbyil65h5hlmk2yxb6qi3pe