Quick: if a square object inherits a rectangle object, what OO principle does this violate?
If your answer is Liskov Subsitution Principle (or Design by Contract principle), you can probably stop reading this now, since there is little new information
Read More