method, but that doesn make much sense: what does it even mean for a (possibly assymetric) ellipse to have a radius?
If you get over that hurdle (e.g., by having Ellipse::radius() return the average of the major and minor axes, or whatever), then there is a problem with the relationship between radius() and area(). E.g., suppose Circle has an area() method that promises to return 3.14159[etc] times the square whatever radius() returns. Then either Ellipse::area() will not return the true area of the ellipse, or you’ll have to stand on your head to get radius() to return something that matches the above formula. Even if you get past that one (i.e., by having Ellipse::radius() return the square root of the ellipse’s area divided by pi), you’ll get stuck by the circumference() method. E.g., suppose Circle has a circumference() method that promises to return two times pi times whatever is returned by radius(). Now you’re stuck: there’s no way to make all those constraints work out for Ellipse: the Ellipse class will have to lie about its area, its circumference, or both. Bottom line: you can make anythin