From time to time, I write stuff about software architecture and design.

Is a square a rectangle?

The quickest way to add behaviour to a class is to subclass it -- derive another class from it, add your own functionality, and you are ready to go. But is it that simple?