1.创建一个接口
public interface Shape{
void draw();
}
2.创建实现接口的实体类
public class Rectangle implements Shape{
public void draw(){
sysout("inside Rectangle");
}
}
public class Square implements Shape{
public void draw(){
sysout("inside Square");
}
}
public class Circle implements Shape{
public void draw(){
sysout("inside Circle");
}
}
3.public class ShapFactory{
//使用getShape方法获取形状类型的对象
public Shape getShape(String shapeType){
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;
}
4.通过类型信息来获取实体类的对象
public class FactoryPatternDemo{
public static void main(String[] args){
ShapeFactory shapeFactory=new Shapefactory();
//获取circle对象,并调用draw方法
Shape shape1=shapFactory.getShape("CIRCLE");
shape1.draw();
}
}