From 9fe033ea88c2f705ec18c232873d056e0c229d72 Mon Sep 17 00:00:00 2001 From: Gaspard Coulet Date: Wed, 28 Apr 2021 23:05:53 +0200 Subject: Initial commit --- sem_6/HLIN603/ocaml/TP2/ex2.caml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 sem_6/HLIN603/ocaml/TP2/ex2.caml (limited to 'sem_6/HLIN603/ocaml/TP2/ex2.caml') 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 -- cgit v1.2.3