示例 图形绘制工厂示例 三角形,圆形,矩形
- public interface Shape {
- void draw();
- }
- public class Triangle implements Shape {
- @Override
- public void draw() {
- //绘制三角形
- }
- }
- public class Circle implements Shape {
- @Override
- public void draw() {
- //绘制圆形
- }
- }
- public class Rectangle implements Shape {
- @Override
- public void draw() {
- //绘制矩形
- }
- }
- public class ShapeFactory {
- //使用 getShape 方法获取形状类型的对象
- public Shape getShape(String shapeType){
- if(shapeType == null){
- return null;
- }
- if(shapeType.equalsIgnoreCase("CIRCLE")){
- return new Circle();
- } else if(shapeType.equalsIgnoreCase("RECTANGLE")){
- return new Rectangle();
- } else if(shapeType.equalsIgnoreCase("SQUARE")){
- return new Square();
- }
- return null;
- }
- }
- public static void main(String[] args) {
- ShapeFactory shapeFactory = new ShapeFactory();
- //获取 Circle 的对象,并调用它的 draw 方法
- Shape shape1 = shapeFactory.getShape("CIRCLE");
- //调用 Circle 的 draw 方法
- shape1.draw();
- //获取 Rectangle 的对象,并调用它的 draw 方法
- Shape shape2 = shapeFactory.getShape("RECTANGLE");
- //调用 Rectangle 的 draw 方法
- shape2.draw();
- //获取 Square 的对象,并调用它的 draw 方法
- Shape shape3 = shapeFactory.getShape("SQUARE");
- //调用 Square 的 draw 方法
- shape3.draw();
- }