Java简单工厂模式定义与用法实例分析

作者:cakincqm 时间:2023-10-12 10:58:38 

本文实例讲述了Java简单工厂模式定义与用法。分享给大家供大家参考,具体如下:

一 代码


// 抽象产品(Abstract Product)角色
interface Block {
 public void print();
}
// 具体产品角色
class IBlock implements Block {
 public void print() {
   System.out.println("我是一个I形的方块!");
 }
}
// 具体产品角色
class LBlock implements Block {
 public void print() {
   System.out.println("我是一个L形的方块!");
 }
}
// 工厂(Factory)角色
class Factory {
 public static Block getInstance( String className ) {
   switch (className) {
     case "IBlock":
       return new IBlock();
     case "LBlock":
       return new LBlock();
     default:
       return null;
   }
 }
}
// 客户端
public class TestSimpleFactory {
 public static void main( String[] args ) {
   Block iBlock = Factory.getInstance("IBlock");// 用工厂生产一个 I 形方块
   iBlock.print();
   Block lBlock = Factory.getInstance("IBlock");// 用工厂生产一个 L 形方块
   lBlock.print();
 }
}

二 运行

我是一个I形的方块!
我是一个I形的方块!

三 类图

Java简单工厂模式定义与用法实例分析

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

来源:https://blog.csdn.net/chengqiuming/article/details/94283529

标签:Java,简单工厂模式
0
投稿

猜你喜欢

  • IDEA快速搭建spring boot项目教程(Spring initializr)

    2023-08-17 21:11:16
  • WPF开发之实现一种三轴机械手控件

    2021-10-29 19:16:29
  • C#使用DLLImport调用外部DLL的方法

    2022-07-17 04:41:18
  • Java基于对象流实现银行系统

    2023-09-10 02:54:21
  • C++如何调用已经写好的C接口

    2021-10-16 10:16:14
  • C语言编程C++动态内存分配示例讲解

    2023-11-02 18:00:12
  • java使用websocket,并且获取HttpSession 源码分析(推荐)

    2023-08-04 17:38:05
  • Kotlin中的密封类和密封接口及其应用场景

    2021-07-01 17:46:11
  • Android实现为Notification加上一个进度条的方法

    2022-12-14 00:39:01
  • RecyclerView实现拖拽排序效果

    2022-09-14 01:23:40
  • 详解idea从git上拉取maven项目详细步骤

    2023-04-23 08:51:56
  • java 中如何实现 List 集合去重

    2023-10-07 07:54:06
  • Android日期选择器实现年月日三级联动

    2022-12-13 03:35:59
  • Java spring的三种注入方式详解流程

    2021-07-02 12:25:47
  • Bootstrap 下拉菜单.dropdown的具体使用方法

    2023-07-08 19:10:46
  • C# 扩展方法小结

    2022-12-25 22:43:34
  • Java上传文件进度条的实现方法(附demo源码下载)

    2023-06-06 11:06:16
  • C# 实现QQ式截图功能实例代码

    2022-04-04 03:48:12
  • 对比Java中的Comparable排序接口和Comparator比较器接口

    2023-10-29 04:29:51
  • 序列化版本号serialVersionUID的作用_动力节点Java学院整理

    2022-08-14 06:39:02
  • asp之家 软件编程 m.aspxhome.com