理論的な質問です。私はGofのデザインパターン、セクションAbstract Factoryを読んでいます。この本では、このパターンをプロトタイプのように実装する可能性、または言語が許可する場合は、オブジェクトの代わりにクラスを格納するプロトタイプを使用する可能性について言及しています。
私はこれを理解しました。たとえば、Java や Smalltalk では、クラスもオブジェクトです (Java では、クラスは実際にはクラス Class のインスタンスです)。したがって、それらをクラス内に格納し、必要に応じてこれらのクラスのインスタンスの作成を呼び出すことができます。
C++ では、クラスはファースト クラス オブジェクトではありません。したがって、このアプローチに従うことはできません。しかし、Concrete Factory 内でネストされたクラスを、そのコンストラクターを呼び出す (そしてそのインスタンスを返す) メソッドで宣言できないでしょうか? 最終的な結果は、Java や Smalltalk などの他の言語と同じになります。私は正しいですか?
ご清聴ありがとうございました。