#lang scheme
(define person-interface (interface() get-name set-name))
(define person% (class* object% (person-interface)
(init name)
(define current-name name)
(super-new)
(define/public (get-name)
current-name)
(define/public (set-name name)
(set! current-name name))
))
(define gg (new person% [name "GG"]))
(send gg get-name)
(send gg set-name "Ganesh Gunasegaran")
(send gg get-name)
(is-a? gg person-interface)
(is-a? gg person%)
bash-3.2$ mzscheme oops.ss
"GG"
"Ganesh Gunasegaran"
#t
#t
Filed under scheme