OOP in Scheme
#lang scheme
(define student% (class object%
(init name age)
(define this-name name)
(define this-age age)
(super-new)
(define/public (get-name)
this-name)
(define/public (set-name name)
(set! this-name name))
(define/public (get-age)
this-age)
(define/public (set-age age)
(set! this-age age))
))
> (define gg (new student% [name "Ganesh"] [age 28])) > (send gg get-name) "Ganesh" > (send gg get-age) 28 > (send gg set-name "GG") > (send gg get-name) "GG"