Subtyping, Subclassing, and Trouble with OOP An extensive discussion of subtyping, insidious problems with subclassing, and practical rules to avoid them. Does OOP really separate interface from implementation? The manifestation of a problem: an example of how an implementation inheritance prevents separation of interface and implementation Subtyping vs. Subclassing Explanation why the problem abo