ホームページ >Java >&#&チュートリアル >Java ファクトリ デザイン パターンのコードの書き方

Java ファクトリ デザイン パターンのコードの書き方

王林
王林転載
2023-05-02 19:52:121313ブラウズ

実装###### 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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。