diff options
Diffstat (limited to 'sem_6/HLIN603/ocaml/TP2/ex2.caml')
| -rw-r--r-- | sem_6/HLIN603/ocaml/TP2/ex2.caml | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sem_6/HLIN603/ocaml/TP2/ex2.caml b/sem_6/HLIN603/ocaml/TP2/ex2.caml new file mode 100644 index 0000000..21779af --- /dev/null +++ b/sem_6/HLIN603/ocaml/TP2/ex2.caml @@ -0,0 +1,21 @@ +class account b = +object (self) + val mutable balance = 0.0 + method get = balance + method deposit a = balance<-balance +. a + method withdraw a = balance <- balance -. a + method print = print_float balance; print_newline() + initializer self#deposit b +end;; +class interest_account b = +object + inherit account b + method interest = balance <- balance +. 5. *. balance /. 100. +end;; +class secure_account b = +object + inherit account b as super + method withdraw a = if (balance -. a)>=0. then super#withdraw a else failwith "T'as pas l'flouze gros!" +end;; +class bank = + method |
