Cmmでも、他のオブジェクト指向言語同様、あるクラスに追加定義を行って、 クラスの継承を行うことができます。
このとき、継承の先祖をスーパークラスあるいは親クラス、子孫をサブクラス あるいは派生クラスといいます。
例えば、クラスPointのサブクラスとして、x, y 方向の速度の属性を追加して、 下記のような動く点の定義をすることができます。
class MovingPoint : Point {
public vx, vy ;
method SetVelocity (dx, dy) { vx = dx; vy = dy } ;
method MoveOneStep () { x += dx ; y += dy }
}
継承クラスを定義するには、クラス宣言式のクラス名に続いて、継承元となる クラス名を':'で区切って指示します。
なおCmmでは、多重継承はサポートしていません。処理系が単純にならないこ とと、多重継承の初期化の複雑さなどから、プログラミングに困難を伴うから です。