@Jerry Fan: Avoiding sub-classing almost certainly has nothing to do with tooling. Rather, you can think of it as favoring composition over inheritance. I was first exposed to that idea in Joshua Bloch's book, Effective Java, but it can be found in many other places.
by Craig Demyanovich — May 16