工厂模式其实是一种创建型模式,通过工厂模式可以对客户端屏蔽对象创建逻辑,主要解决接口选择的问题。
工厂模式创建方式:
1、创建一个接口,shap.java
public Interface shap{
void draw();
}
2、创建一个对象,并实现shap接口,Circle.java
public class Circle implements shap{
@Override
public void draw(){
System.out.println("Inside Circle::draw() method.");
}
}
3、创建一个对象,并实现shap接口,Rectangle.java
public class Rectangleimplements Shap {
@Override
public void draw() {
System.out.println("Inside Rectangle::draw() method.");
}
}
4、创建一个对象,并实现shap接口,Square.java
public class Squareimplements Shap {
@Override
public void draw() {
System.out.println("Inside Square::draw() method.");
}
}
5、创建一个工厂类,ShapeFactory.java
public class ShapeFactory {
public Shap getshap(String shaptype){
if(shaptype==null){
return null;
}
if(shaptype.equalsIgnoreCase("CIRCLE")){
return new Circle();
}else if(shaptype.equalsIgnoreCase("RECTANGLE")){
return new Rectangle();
}else if(shaptype.equalsIgnoreCase("SQUARE")){
return new Square();
}
return null;
}
}
6、创建一个工厂测试demo,Shapdemo .java
public class Shapdemo {
public static void main(String[] args) {
ShapeFactory shapeFactory =new ShapeFactory();
Shap shap = shapeFactory.getshap("CIRCLE");
shap.draw();
}
}
7、运行结果