Several authors have identified that the only feasible way to increase productivity in software construction is toreuse existing software. To achieve this, component-based software development is one of the more promisingapproaches. However, traditional research in component-oriented programming often assumes that components arereused "as-is". Practitioners have found that "as-is" reuse seldomly occurs and that reusable components generallyneed to be adapted to match the system requirements. Existing component object models provide only limited sup-portfor component adaptation, i.e. white-box techniques such as copy-paste and inheritance and black-boxapproaches such as aggregation and wrapping. These techniques suffer from problems related to reusability, effi-ciency,implementation overhead or the self problem. To address these problems, this paper proposes superimposi-tion,a novel black-box adaptation technique that allows one to impose predefined, but configurable types offunctionality on a reusable component. Three categories of typical adaptation types are discussed, related to thecomponent interface, component composition and component monitoring. Superimposition and the types of com-ponentadaptation are exemplified by several examples.