Back to slide -- Keyboard shortcut: 'u'        next -- Keyboard shortcut: 'n'          colorpoint-class-all.scm - Class Point - A subclass of object - with a new method point-info.Lecture 3 - slide 7 : 43
Program 1

(define (point x y)
 (let ((super (new-part object))
       (self 'nil))
  (let ((x x) 
        (y y)
       )
     
     (define (getx) x)
  
     (define (gety) y)
  
     (define (add p) 
      (point 
       (+ x (send 'getx p))
       (+ y (send 'gety p))))
  
     (define (type-of) 'point)

     (define (point-info)
       (list (send 'getx self) (send 'gety self) (send 'type-of self)))
       
     (define (dispatch message)
       (cond ((eqv? message 'getx) getx)
             ((eqv? message 'gety) gety)
             ((eqv? message 'add)  add)
             ((eqv? message 'point-info)  point-info)
             ((eqv? message 'type-of) type-of)
  	     (else (method-lookup super message))))
     
     (set! self dispatch)
   )

   self))