welcome: please sign in

ページのコンテンツをアップロード

下記のページ名のコンテンツをアップロードすることができます。 もしページ名を変更すれば、別のページのコンテンツをアップロードすることもできます。 ページ名が空の場合、ファイル名からページ名を決定します。

ページコンテンツを格納したファイル
ページ名
コメント

2010-11-30 13:27:35時点のリビジョン8

location: 継承の例

継承の例

前回までに作成した Chainクラス を継承して Cardクラス を作ります。

Cardクラスのインスタンスは3つの変数(属性)を持ちます。

コンストラクタとshowメソッドを記述するとこのようになります。

コンストラクタとshowメソッドはこのように使えます。


代入

同じ型の変数にそのクラスのインスタンスを代入することができました。

このとき変数の値は、インスタンスのアドレス(参照)になります。

どんなインスタンスでも代入されるときはアドレスだとすると、 型の異なる変数への代入は可能でしょうか?

1番目はエラー、2番目は可能です。

親クラスの型をもつ変数へ、サブクラスのインスタンスを代入することはできます。

次の2行をmainメソッドに記述して実行してみると

このようになります。

変数はChain型ですが、代入されているインスタンスはCard型です。


オブジェクトをつなぐ

CardクラスはChainクラスを継承して作成したので、 Chainクラスのときと同様につなぐことができます。