Heim  >  Artikel  >  Java  >  So schreiben Sie Code für ein Java-Factory-Designmuster

So schreiben Sie Code für ein Java-Factory-Designmuster

王林
王林nach vorne
2023-05-02 19:52:121257Durchsuche

Implementierungsmethode

Wir werden eine Shape-Schnittstelle und konkrete Klassen erstellen, die die Shape-Schnittstelle implementieren. Im nächsten Schritt wird eine Factory-Klasse ShapeFactory definiert.

FactoryPatternDemo Dies ist eine Demonstrationsklasse, die ShapeFactory verwendet, um ein Shape-Objekt zu erhalten. Die Informationen (CIRCLE/RECTANGLE/SQUARE) werden an die ShapeFactory übergeben, um den erforderlichen Objekttyp zu erhalten.

Die Struktur der Implementierung des Factory-Musters ist in der folgenden Abbildung dargestellt:

java-61.jpg

Schritt 1

​Erstellen Sie eine Schnittstelle-

Shape.java

​publicinterfaceShape{

voiddraw();

}

Schritt 2

Erstellen Sie eine konkrete Klasse, die dieselbe Schnittstelle implementiert. Nachfolgend werden mehrere Kategorien angezeigt:

Rechteck.java

​publicclassRectangleimplementsShape{

​@Override

​publicvoiddraw(){

System.out.println("InsideRectangle::draw()method.");

}

}

Square.java

​publicclassSquareimplementsShape{

​@Override

​publicvoiddraw(){

System.out.println("InsideSquare::draw()method.");

}

}

​Circle.java

​publicclassCircleimplementsShape{

​@Override

​publicvoiddraw(){

System.out.println("InsideCircle::draw()method.");

}

}

Schritt 3

Erstellen Sie eine Fabrik, um Objekte bestimmter Klassen basierend auf gegebenen Informationen zu generieren.

ShapeFactory.java

​publicclassShapeFactory{

//usegetShapemethodtogetobjectoftypeshape

publicShapegetShape(StringshapeType){

​if(shapeType==null){

returnnull;

}

​if(shapeType.equalsIgnoreCase("CIRCLE")){

returnnewCircle();

}elseif(shapeType.equalsIgnoreCase("RECTANGLE")){

returnnewRectangle();

}elseif(shapeType.equalsIgnoreCase("SQUARE")){

returnnewSquare();

}

returnnull;

}

}

Schritt 4

Verwenden Sie eine Factory, um ein Objekt einer bestimmten Klasse abzurufen, indem Sie Informationen wie den Typ übergeben.

FactoryPatternDemo.java

​publicclassFactoryPatternDemo{

publicstaticvoidmain(String[]args){

ShapeFactoryshapeFactory=newShapeFactory();

//getanobjectofCircleandcallitsdrawmethod.

Shapeshape1=shapeFactory.getShape("CIRCLE");

//calldrawmethodofCircle

shape1.draw();

//getanobjectofRectangleandcallitsdrawmethod.

Shapeshape2=shapeFactory.getShape("RECTANGLE");

//calldrawmethodofRectangle

shape2.draw();

//getanobjectofSquareandcallitsdrawmethod.

Shapeshape3=shapeFactory.getShape("SQUARE");

//calldrawmethodofcircle

shape3.draw();

}

}

Schritt 5

Die Ergebnisse der Überprüfungsausgabe lauten wie folgt:

​InsideCircle::draw()method.

​InsideRectangle::draw()method.

​InsideSquare::draw()method.

So schreiben Sie Code für ein Java-Factory-Designmuster

Das obige ist der detaillierte Inhalt vonSo schreiben Sie Code für ein Java-Factory-Designmuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen