https://think-on-object.blogspot.com/2011/11/factoryfactory-methodabstract-factory.html
こちらの記事を読んでいたのですが、一部わからない部分があったので質問します。
interface C{} class A implement C {} class Z implement C {} abstract class CFactory{ abstract C newInstance(); } class AFactory extends CFactory{ C newInstance(){ return new A(): } } class ZFactory extends CFactory{ C newInstance(){ return new Z(): } } class B { method(){ C = CFactory.newInstance(); } }
記事中に上記のようなコードがあり
クラス B はまったく変更することなく、このクラスを扱うことができます。
とおっしゃっています。
CFactoryは抽象クラスで、newInstanceメソッドは定義されているだけで、実装はされていないので、Cへの代入は不可能な気がします。
この処理は何を意味しているのでしょうか?
どなたかご教授お願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。