Language Selection

English French German Italian Portuguese Spanish

The Inverse Extension Design Pattern

Filed under

In an inheritance hierarchy, permit each parent class's method to extend its child class's method so it can act as a decorator for its child class's behavior.

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. Secondly, the child class gets to choose what to pass to the parent class's method and what to do with whatever, if anything, the parent class's method returns.

Full Article.

More in Tux Machines

Slackel Linux: Not Your Father's Slackware

You might think of the Slackel distro as a better Slackware derivative. Slackware dates back to 1992. By comparison, well-known and well-used distros such as Ubuntu, Fedora and Linux Mint were introduced in the mid-2000s. So Slackware is among the oldest actively maintained Linux distros. Despite its longevity, it has not joined more modern Linux offspring in terms of user friendliness. Read more

Android 6.0 Marshmallow Review: Google Outsmarts Apple By Guessing Your Next Move

It may seem like a big decision, but something tells me the service arms race is going to be a lot like the feature race. Google has the nose on Apple with Google Now on Tap until… Apple figures out a way to borrow it. Read more

Red Hat News

IBM releases Power-based Linux servers with Nvidia GPUs

The Power Systems LC line was introduced by Dr Stefanie Chiras, director and business line executive of IBM scale-out Power Systems, as part of her keynote on the subject of 'waitless computing'. IBM, as a patron of the OpenPower Foundation, has been a staunch supporter of Linux and OpenStack, and this represents a logical step for the company, as it has been building its Power line following the sale of its x86 server business to Lenovo in 2014. Read more