It's GG

Life is simple...

0 notes

Interfaces in Scheme

#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