Linux Journal: The Inverse Extension Design Pattern
Dec 22, 2005, 10:00 (2 Talkback[s])
(Other stories by Shannon Behrens)
"In object-oriented programming, it is common for a child
class's method to extend the parent class's method. However,
inverting this pattern is useful as well. Although most
object-oriented programming languages support the former, I have
never encountered one that supported the latter. Nonetheless, it is
possible to implement this pattern without explicit support from
the programming language, just as it was possible to implement
inheritance in C before C++ was created.
"A few interesting features of normal extension should be kept
in mind. First, a child class can call its parent class's method
anywhere within its own method. Hence, the child class is
responsible for determining if the parent gets to go first, last or
somewhere in the middle..."