オブジェクト指向を使ったグラフ作成プログラムの例
長方形(rectangle)、円(circle)、合成図形(composite)は、それぞれ図形(graphical-object)の子クラスになっている。
手続make-graphでは、棒や円を作り、等間隔で並べた合成図形を作り、
それをウィンドウの大きさに合うようにリサイズ(fit!)している。
(define (make-graph generator numbers)
(let ((elements (generate-objects generator numbers))) ;; 棒や円を作る
(align-objects (new cartesian 0 100) elements) ;; 等間隔に並べる
(let ((c (new composite elements))) ;; 合成図形を作る
(fit! c (new rectangle ;; ウィンドウの大きさに合わせる
(new cartesian 2 2)
(new cartesian 300 200)))
c)))