Brian Pontarelli encounters the same ugliness in the Java API that I talked about back in Implementation Exposure Through Inheritance.
It’s a good read, and goes into more detail than I did about the most glaring and chafing example: Java’s “Properties” class, which is-a Hashtable so that the developer didn’t have to rework “Map”.
Related posts: