オブジェクト指向を使ったグラフ作成プログラムの例
長方形(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)))