クラスとオブジェクトはの主要部分です これは、それを扱う主要なプログラミング言語の1つにします。この記事では、Javaのファクトリメソッドとは次の順序で説明します。
Javaのファクトリメソッドとは何ですか?
ファクトリパターン または Javaのファクトリメソッド サブクラスはクラスのオブジェクトを作成する責任があると言います。言い換えると、 ファクトリメソッドパターン は、作成されたオブジェクトの正確なクラスを指定することなく、ファクトリメソッドを使用してオブジェクトを作成するために使用される作成パターンです。ファクトリメソッドは、 仮想コンストラクター 。
C ++のgoto
ファクトリメソッドでは、作成ロジックをクライアントに公開せずにオブジェクトを作成します。同じ共通インターフェースが、新しいタイプのオブジェクトを作成するためにクライアントによって使用されます。
ファクトリメソッドの利点
作成するオブジェクトのタイプは、サブクラスによって選択されます。ファクトリメソッドはこれを可能にします。
コード内のアプリケーション固有のクラスをバインドする必要性を排除することにより、 疎結合 。
ファクトリメソッドの使用
これらは、クラスが必要なサブクラスを認識していない場合に使用されます。
これらは、作成する必要のあるオブジェクトをサブクラスで指定する必要がある場合に使用されます。
親クラスはサブクラスのオブジェクトの作成を選択し、ファクトリメソッドを使用します。
和集合節は
ファクトリメソッドを使用するのはいつですか?
ファクトリメソッドパターンによってクラス間に疎結合が導入されましたこれは最も重要な原則の1つであり、アーキテクチャの設計時に適用する必要があります。プログラムアーキテクチャに疎結合を導入することで、アーキテクチャをより柔軟にし、脆弱性を減らすことができます。
これがサンプルコードです
interface ImageReader {DecodedImage getDecodeImage()} class DecodedImage {private String image public DecodedImage(String image){this.image = image} @Override public String toString(){return image + ':isdecode'}}クラスGifReaderはImageReaderを実装します{ private DecodedImage decodeImage public GifReader(String image){this.decodedImage = new DecodedImage(image)} @Override public DecodedImage getDecodeImage(){return decodeImage}} class JpegReaderimplements ImageReader {private DecodedImage decodeImage public JpegReader(String image){decodeImage = new DecodedImage(image)} @Override public DecodedImage getDecodeImage(){return decodeImage}} public class FactoryMethodDemo {public static void main(String [] args){DecodedImage decodeImage ImageReader reader = null String image = 'image.jpeg' String format = image .substring(image.indexOf( '。')+ 1、(image.length()))if(format.equals( 'gif')){reader = new GifReader(image)} if(format.equals( 'jpeg ')) { 読者= new JpegReader(image)}アサートリーダー!= null decodeImage = reader.getDecodeImage()System.out.println(decodedImage)}}
出力:
コードの説明
このコードは、ファクトリメソッドの設定方法を示しています。複数のクラスが作成され、それぞれが画像をデコードする特定のタスクを実行します。 FactoryMethodDemoというドライバークラスがあります。
Javaでdoubleをintに変換する
.jpegや.gifなどの拡張子が必要な引数を渡します。拡張子に基づいて、jpegリーダーまたはgifリーダーのいずれかのクラスオブジェクトが作成され、それに応じて実行されます。
これで、このFactory Method InJavaの記事は終わりです。これらの方法をご理解いただければ幸いです。
チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。