type bpoint { x : int; getx : bpoint -> int; setx : bpoint -> int -> bpoint; bouge : bpoint -> bpoint };; |
let bpoint x0 = let super = point x0 in { x = super.x0; getx = super.getx; setx = super.setx; bouge = (fun self -> self.setx self (self.getx self + 1));} |
· | Le type de self dans super est point et non bpoint .
|
· | La méthode setx retourne un point et non un bpoint .
|