ホームページ >Java >&#&チュートリアル >Java ファクトリ デザイン パターンのコードの書き方
実装###### Shape インターフェイスと、Shape インターフェイスを実装する具象クラスを作成します。ファクトリ クラス ShapeFactory は次のステップで定義されます。
FactoryPatternDemo これは、ShapeFactory を使用して Shape オブジェクトを取得するデモ クラスです。情報 (CIRCLE/RECTANGLE/SQUARE) を ShapeFactory に渡し、必要なオブジェクト タイプを取得します。
ファクトリ パターンの実装構造を次の図に示します。
java-61.jpg
ステップ1###### インターフェイスの作成 -
# Shape.java パブリックインターフェイスシェイプ{ voiddraw(); } ステップ2###### 同じインターフェイスを実装する具象クラスを作成します。いくつかのカテゴリを以下に示します- Rectangle.java publicclassRectangleimplementsShape{ @オーバーライド###### publicvoiddraw(){ System.out.println("InsideRectangle::draw() メソッド。"); } } Square.java publicclassSquareimplementsShape{ @オーバーライド###### publicvoiddraw(){ System.out.println("InsideSquare::draw() メソッド。"); } } Circle.java publicclassCircleimplementsShape{ @オーバーライド###### publicvoiddraw(){ System.out.println("InsideCircle::draw() メソッド。"); } } ステップ 3 指定された情報に基づいて特定のクラスのオブジェクトを生成するファクトリを作成します。 ShapeFactory.java パブリッククラスシェイプファクトリー{ //getShapeメソッドを使用してtypeshapeのオブジェクトを取得します publicShapegetShape(StringshapeType){ if(shapeType==null){ null を返す; } if(shapeType.equalsIgnoreCase("CIRCLE")){ returnnewCircle(); }elseif(shapeType.equalsIgnoreCase("RECTANGLE")){ returnnewRectangle(); }elseif(shapeType.equalsIgnoreCase("SQUARE")){ returnnewSquare(); } null を返す; } } ステップ 4 ファクトリを使用して、型などの情報を渡して特定のクラスのオブジェクトを取得します。 FactoryPatternDemo.java publicclassFactoryPatternDemo{ publicstaticvoidmain(String[]args){ ShapeFactoryshapeFactory=newShapeFactory(); //Circle のオブジェクトを取得し、draw メソッドを呼び出します。 Shapeshape1=shapeFactory.getShape("CIRCLE"); //Circleのcalldrawメソッド Shape1.draw(); //Rectangle のオブジェクトを取得し、draw メソッドを呼び出します。 Shapeshape2=shapeFactory.getShape("RECTANGLE"); //calldrawmethodofRectangle shape2.draw(); //Square のオブジェクトを取得し、draw メソッドを呼び出します。 Shapeshape3=shapeFactory.getShape("SQUARE"); //calldrawmethodofcircle shape3.draw(); } } ステップ5 検証出力結果は次のとおりです- InsideCircle::draw() メソッド. InsideRectangle::draw() メソッド. InsideSquare::draw() メソッド。以上がJava ファクトリ デザイン パターンのコードの書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。