• 简单工厂模式


    又称为静态工厂方法模式

    根据参数的不同,返回不同类的实例

    专门定义了一个类来负责创建其他类的实例

    就像工厂根据产品的图纸来生产产品,工厂类专门负责创建其他类实例

    被创建的实例通常具有相同的父类(这表明各种各样的产品类其实都属于同一大类)

    也就是说简单工厂模式其实就是创建某一大类下面不同类的实例

    (1)抽象产品类(即产品大类):

    (2)产品类的子类产品A类,产品类的子类产品B类

    (3)工厂类:负责创建不同产品类的实例,工厂类有一个createProduct()方法,根据传进来的参数不同,产生不同类的实例

    比如:传进来字符串‘A’,就产生产品A这个类的实例

    传进来字符串‘B’,就产生产品B这个类的实例

    1. if(arg=='A') return new ProductA();
    2. if(arg=='B') return new ProductB();

     

    实现一个简单的工厂模式:

    1. public class SimpleFactory
    2. {
    3. public static Product createProduct(String type)
    4. {
    5. if(type=="A") return new ProductA();
    6. else
    7. return new ProductB();
    8. }
    9. public static void main(String[] args)
    10. {
    11. Product product=SimpleFactory.createProduct("A");
    12. product.print();
    13. }
    14. }
    15. abstract class Product
    16. {
    17. public abstract void print();
    18. }
    19. class ProductA extends Product
    20. {
    21. @Override
    22. public void print()
    23. {
    24. System.out.println("产品A");
    25. }
    26. }
    27. class ProductB extends Product
    28. {
    29. @Override
    30. public void print()
    31. {
    32. System.out.println("产品B");
    33. }
    34. }

  • 相关阅读:
    磁盘相关概述
    URL、域名和网址的区别
    谷粒商城-前端开发基础知识
    【Java面试】ConcurrentHashMap再JDK7和8中的区别以及ConcurrentHashMap底层实现
    多环境与多数据源切换
    大模型的视觉能力
    如何从异步调用中返回响应
    科技风UI除了蓝色,还有什么配色选择?
    基于C语言BP神经网络的实现
    网页中使用特殊字体
  • 原文地址:https://blog.csdn.net/weixin_47414034/article/details/126355652