On Friday, October 31, 2014 1:51:23 PM UTC-7, Chris Angelico wrote: > On Sat, Nov 1, 2014 at 4:43 AM, Rob Gaddi > <rgaddi@technologyhighland.invalid> wrote: > > Define a Square class, subclassed from Rectangle. Use getters/setters > > to enforce that the length and width must be equal. Confirm that > > length and width remain locked, and that perimeter() and area() work > > correctly. > > Here we go again... > > http://en.wikipedia.org/wiki/Circle-ellipse_problem > > Square and Rectangle are just as "obviously" the other way around in > the hierarchy, and it's wrong whichever way you do it. Not a good > example. > > ChrisA
I've never heard of the Circle-Ellipse problem, and my first instinct to Rob's post was to ask, why would you want to sub-class Rectangle into a Square class? A square is just a special case of a Rectangle. Attempting that kind of sub-classing would just cause problems. The only thing you gain is a slight optimization in calculating perimeter by turning two multiplications and an addition into a single multiplication which really wouldn't have an effect on performance unless you were doing that calculation millions of times per second. -- https://mail.python.org/mailman/listinfo/python-list