6 ms·
So this behavior is reasonable? Rectangle r=getRectangle(); r.width=1; Assert(1, r.width); //passes r.height=2; Assert(1, r.width); //fails or passes depending
by niklasjansson 9y ago
So this behavior is reasonable?
Rectangle r=getRectangle();
r.width=1;
Assert(1, r.width); //passes
r.height=2;
Assert(1, r.width); //fails or passes depending on subclass
- Paul_Dirac 9y agoThe problem is that the square is a rectangle in the mathematical sense: a rectangle with ANY additional constraints while code which uses a rectangle expects a rectangle with NO further constraints. I believe the right choice is to have an AbstractRectangle class representing the rectangle with any further constraints and Rectangle class representing the rectangle with no further constraints.