class CLASSTEST is readonly attr x:INT; -- give a public getter, not a setter private attr y:INT; -- no getter, no setter attr z:INT; -- getter and setter -- constructor create(x, y, z:INT):CLASSTEST is res :CLASSTEST := new; -- or res ::= new res.x := x; res.y := y; res.z := z; return res; end; -- a getter for the private y summed to s getPrivateY(s:INT):INT is -- y is not shadowed so we can write y instead of -- self.y return y + s; end; end;