设计模式(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

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

相关推荐
梵高的代码色盘1 小时前
工厂模式 vs 策略模式:设计模式中的 “创建者” 与 “决策者”
设计模式·策略模式
qqxhb2 小时前
零基础设计模式——结构型模式 - 享元模式
设计模式·享元模式·分离内外状态·共享对象
季鸢2 小时前
Java设计模式之命令模式详解
java·设计模式·命令模式
蔡蓝2 小时前
设计模式-代理模式
设计模式·代理模式
on the way 1238 小时前
创建型设计模式之Prototype(原型)
设计模式·原型模式
琢磨先生David17 小时前
Java 可扩展状态系统设计:备忘录模式的工程化实践与架构演进
java·设计模式·架构
琢磨先生David19 小时前
Java 迭代器模式:遍历数据集合的优雅之道
java·设计模式·迭代器模式
秋田君1 天前
深入理解JavaScript设计模式之call,apply,this
javascript·设计模式
master-dragon1 天前
设计模式-单例模式
java·单例模式·设计模式
hstar95271 天前
三十一、面向对象底层逻辑-SpringMVC九大组件之RequestToViewNameTranslator接口设计哲学
java·spring·设计模式·架构