• ベストアンサー

Java サブクラスの宣言 継承

Java言語の継承について 親クラスPと、それを継承した子クラスCがあります。 メインクラスで、 P p=new C(); などと書きますが C p=new C(); ではダメですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

その部分だけを見るならダメってことはありません。 ただし、変数pに代入できるオブジェクトの型がクラスCとその子クラスに限定されてしまいます。Pを継承した別の子クラスXがあったとして、pにnew X()やnew P()を代入することができなくなります。

left2012
質問者

お礼

早速のご回答ありがとうございます。 とても分かりやすく、助かりました。

その他の回答 (1)

回答No.2

OCP(オープンクローズの原則)やデザインパターンを 学びましょう。オブジェクトはできる限り抽象度の 高い型で扱うほうがうまくゆくことが多いのです。 具体的な型をコードで使うと、そのコードが適用できる範囲が 狭まり、新しい継承型をつくるたびに、それを扱うための コードがあちこちで増えてしまいます。

関連するQ&A

専門家に質問してみよう