HaloO, Jonathan Lang wrote:
In any case, one should never add anything while going from specific to general.
The crux of my example is that one indeed adds methods in the supertype. The subtype receives a standard implementation. This pattern is applicable whenever you have a case like the Num that can be embedded in the Complex with .im == 0. Another example is deriving a Point3D from a Point2D by giving a default implementation of .z == 0. Regards, TSa. --