A concrete implementation
template object CartesianPoint isa Point;
field x(p@CartesianPoint) := 0;
field y(p@CartesianPoint) := 0;
field rho(p@CartesianPoint) { … };
field theta(p@CartesianPoint) { … };
method new_cartesian_point(x0,y0) {
concrete object isa CartesianPoint {
Doesn’t reimplement the other methods (area, distance, etc.)