next up previous contents
Next: 9.4 カプセルクラス Up: 9. オブジェクト指向文法の概要 Previous: 9.2 インスタンス

9.3 継承

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では、多重継承はサポートしていません。処理系が単純にならないこ とと、多重継承の初期化の複雑さなどから、プログラミングに困難を伴うから です。


next up previous contents
Next: 9.4 カプセルクラス Up: 9. オブジェクト指向文法の概要 Previous: 9.2 インスタンス
Tetsuo Ono
1998-11-05