「作成されるオブジェクトの正確なクラスを指定せずにオブジェクト(製品)を作成することです」. それはどのようにできますか?そして、evryone が継承する抽象クラスがある場合は、「ポリモーフィズム」のように聞こえます。とにかく違いは何ですか?
ありがとう!
「作成されるオブジェクトの正確なクラスを指定せずにオブジェクト(製品)を作成することです」. それはどのようにできますか?そして、evryone が継承する抽象クラスがある場合は、「ポリモーフィズム」のように聞こえます。とにかく違いは何ですか?
ありがとう!
インターフェースがあると考えてみましょう:
public interface IClass {}
また、そのインターフェイス (または抽象クラス、または他の基本クラス) を継承する 2 つのクラスがあります。
public class First : IClass {}
public class Second: IClass {}
最初のものは生産コードのスタッフに使用され、2番目のものはテストに使用されます。
そして、ファクトリメソッドがあります:
public IClass GetClass ()
{
if(InTest) return new Second();
else
return new First();
}
したがって、このメソッドを呼び出すコードは、作成される正確なクラスを指定しません。使い方を知っているだけです。