クラスは、データとそれを扱うための関数(メソッド)をまとめて定義したもの です。Cmmのクラスは、クラス宣言式を用いて定義します。
例えば平面上の点を表現するためのクラスは、下記のようになります。
class Point {
public x, y ;
method New (x0, y0) { x = x0 ; y = y0 }
method Set (x0, y0) { x = x0 ; y = y0 }
method Move(dx, dy) { x += dx ; y += dy }
}
この例の場合、x, y は、クラスPointのインスタンス変数、Set()、Move()は、 クラスPointのメソッドです。また、New() はクリエータというCmmのオ ブジェクト指向文法上の特殊なメソッドで、インスタンスの生成と初期化を行 い生成したインスタンスを返します。このNew()は、省略することもできます。 New()に関しては、「クラスメソッドNew」(11.8節)を参照して ください。