[ Pi µvar: 3.14159265358979; Self makePoint µmethod: [ x µvar: 0; y µvar: 0; self setX: newX µmethod: [ x µ<- newX; self ]; self setY: newY µmethod: [ y µ<- newY; self ]; self area µmethod: [ 0 ]; Self makeCircle µmethod: [ r µvar: 0; self setR: newR µmethod: [ r µ<- newR; self ]; self area µmethod: [ Pi * r sqr ]; Self makeEllipse µmethod: [ rr µvar: 0; self setRR: newRR µmethod: [ rr µ<- newRR; self ]; self area µmethod: [ Pi * r * rr ]; µself ]; µself ]; µself ]; Point µvar: Object makePoint; Circle µvar: Point makeCircle; Ellipse µvar: Circle makeEllipse; P µvar: ((Point µclone) setX: 1) setY: 2; C µvar: (((Circle µclone) setX: 1) setY: 2) setR: 1; E µvar: ((((Ellipse µclone) setX: 1) setY: 2) setR: 1) setRR: 2; " area of point = " display; P area display; Eoln display; " area of circle = " display; C area display; Eoln display; "area of ellipse = " display; E area display; Eoln display] µvalue