質問: new クラスB(); 「変数として宣言しているクラスA」と「オブジェクト生成している(メモリ確保)クラスB」 と記述可能なメリットと理由がよくわかりません。 クラスA(absract)がオブジェクト生成できないため、 あえてクラスBを生成するってことなのでしょうか? 上の例だと、クラスBのメソッドは呼び出すことはできない筈なので。 サブクラスのアドレスを基底クラスの変数に格納しても問題ないってこと? これは、基底クラスの領域しかアドレスを読み込めないってことなのでしょうか?
回答: デザインパターン (ソフトウェア) - Wikipedia おそらくその問いに関するこたえは「デザインパターン」を学習すると効率よく理解できると思います。 サルでもわかる 逆引きデザインパターン 第1章 はじめてのデザインパターン デザインパターンとは 主に「振る舞いに関するパターン」各種に利用されていますので、一読しておくことをお勧めします。 !増補改訂版Java言語で学ぶデザインパターン入門 増補改訂版Java言語で学ぶデザインパターン入門 * 作者: 結城 浩 * 出版社/メーカー: ソフトバンククリエイティブ * メディア: 単行本