let () = print_endline "Hello!";; (* «classes» *) class cat = object method speak = print_endline "meow" end class dog = object method speak = print_endline "woof" end (* «end» *) (* «uses» *) let hear_what_it_has_to_say obj = let () = obj#speak in () (* «end» *) ;; (* «calling» *) let () = hear_what_it_has_to_say (new cat) (* prints "meow" *) let () = hear_what_it_has_to_say (new dog) (* prints "woof" *) (* «end» *) ;; (* «bigger-object» *) class cow = object method speak = print_endline "moo" method num_stomachs = 4 end (* «end» *) ;; (* «call-cow» *) let () = hear_what_it_has_to_say (new cow) (* prints "moo" *) (* «end» *) ;; (* «speaker» *) let ecce_orator obj = let () = obj#speak in obj (* «end» *) ;;