On Mar 13, 9:37 am, Jack Diederich <jackd...@gmail.com> wrote: > If Fraction.__add__ returns a new object but the subclass Value is > compatible (as I would except since it is a sublcass) then just change > all references in Franction.__add__ to be more generic, ex/ > > class Franction(): > def __add__(self, other): > return self.__classs__(self.denominator + other.denominator) > > That way if __add__ is called by an instance of a subclass it will > return an instance of that subclass.
That was my first thought, because I had originally assumed that's the way Fraction worked. However, a) it's easier to do the overriding in my own class than patching Fraction (or at least no harder), and 2) Fraction is only doing the same thing that int does, so it's hard to justify a patch. I think Patrick's solution might be the tidiest one. I'll give it a shot (thanks, Patrick). -- http://mail.python.org/mailman/listinfo/python-list