设计模式(2)工厂模式

让一个工厂类去生产出对象 (new )来。

我们想要一个 形状,我们用工厂去生产出,圆形,方形。

java 复制代码
package com.example.factory2;

public interface Shape {
    void draw();
}
java 复制代码
public class Square implements Shape {
    @Override
    public void draw() {
        Log.d("LIU", "this is Square");
    }
}
java 复制代码
public class Circle implements Shape {
    @Override
    public void draw() {
        Log.d("LIU","this is circle");
    }
}

factory class:

java 复制代码
public class ShapeFactory {
    public Shape getShape (int type) {
        if (type == 1) {
            return new Circle();
        } else if (type ==2) {
            return  new Square();
        } else {
            return null;
        }

    }
}

example and output:

java 复制代码
        ShapeFactory shapeFactory = new ShapeFactory();
        Shape shape = shapeFactory.getShape(1);
        shape.draw();
        Shape shape2 = shapeFactory.getShape(2);
        shape2.draw();



2024-10-02 22:23:47.705 14673-14673/com.example.factory2 D/LIU: this is circle
2024-10-02 22:23:47.706 14673-14673/com.example.factory2 D/LIU: this is Square

参考: 工厂模式 | 菜鸟教程

相关推荐
Query*2 小时前
Java 设计模式——适配器模式进阶:原理深挖、框架应用与实战扩展
java·设计模式·适配器模式
Meteors.2 小时前
23种设计模式——中介者模式 (Mediator Pattern)详解
java·设计模式·中介者模式
Query*3 小时前
Java 设计模式——适配器模式:从原理到3种实战的完整指南
java·设计模式·适配器模式
Meteors.3 小时前
23种设计模式——状态模式(State Pattern)
java·设计模式·状态模式
星星点点洲5 小时前
PostgreSQL 15二进制文件
开发语言·设计模式·golang
让我上个超影吧13 小时前
设计模式【工厂模式和策略模式】
java·设计模式·策略模式
Query*16 小时前
Java 设计模式——建造者模式:从原理到实战的极简指南
java·设计模式·建造者模式
Tiny_React18 小时前
智能体设计模式-CH05:工具使用(Tool Use)
设计模式
舒克起飞了18 小时前
设计模式——建造者模式
设计模式·建造者模式
Tiny_React18 小时前
智能体设计模式-CH06:规划(Planning)
设计模式