这里引用

https://www.kailing.pub/PdfReader/web/viewer.html?file=24DesignPattern 讲解设计模式一文中的例子。
这个例子很形象而且通俗易懂,这个例子是一个女娲造人的故事。
女娲造人的时候呢,把人分成了三个人种,然后用泥在太上老君的八卦炉来炼。事先呢先确定好人的一些属性和能力。
public interface Human {//会说话public void talk();//会笑public void laugh();//会哭public void cry();}

然后呢定义人种,首先是黑种人

public class BlockHuman implements Human{@Overridepublic void talk() {System.out.println("黑种人会说话!");}@Overridepublic void laugh() {System.out.println("黑种人会笑!");}@Overridepublic void cry() {System.out.println("黑种人会哭!");}
}
然后是白种人
public class WhiteHuman implements Human{@Overridepublic void talk() {System.out.println("白种人会说话!");}@Overridepublic void laugh() {System.out.println("白种人会笑!");}@Overridepublic void cry() {System.out.println("白种人会哭!");}
}

最后是黄种人

public class YellowHuman implements Human{@Overridepublic void talk() {System.out.println("黄种人会说话");}@Overridepublic void laugh() {System.out.println("黄种人会笑!");}@Overridepublic void cry() {System.out.println("黄宏人会哭!");}
}

这个时候我们需要一个太上老君的炉子,没有炉子烤不熟人嘛。

public class HumanFactory {public static Human createHuman(Class a){Human human = null;try {human = (Human)Class.forName(a.getName()).newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}return human;}
}

好了,这个时候女娲开始入场造人了。

public class NvWa {public static void main(String[] args) {//先来一堆白人System.out.println("白人来咯:");Human whiteHuman = HumanFactory.createHuman(WhiteHuman.class);whiteHuman.cry();whiteHuman.laugh();whiteHuman.talk();//再来一堆黑人System.out.println("黑人来咯:");Human blockHuman = HumanFactory.createHuman(BlockHuman.class);blockHuman.talk();blockHuman.laugh();blockHuman.cry();//最后来一批黄种人System.out.println("黄种人来咯:");Human yellowHuman = HumanFactory.createHuman(YellowHuman.class);yellowHuman.cry();yellowHuman.laugh();yellowHuman.talk();}
}

看输出结果:

23种设计模式之-----简单工厂(静态工厂)模式(SimpleFactory Pattern)相关推荐

  1. 23种设计模式,今天来聊聊模板模式,工厂方法模式,单例模式。

    23种设计模式,今天来聊聊模板模式,工厂方法模式,单例模式. 1. 随处可见的模板模式 2. 暗含讲究的工厂方法模式 3. 单例模式隐含的坑你能看到第几层? 视频讲解如下,点击观看: [干货篇]23种 ...

  2. 23种设计模式的简单介绍

    文章目录 23种设计模式 概要 0.简单工厂设计模式 多方法简单工厂 静态方法简单工厂 创造型 单例模式(**Singleton**) 懒汉模式:(以时间换空间) 饿汉模式 (以空间换时间) 工厂方法 ...

  3. 23种设计模式及简单代码

    1. 概述 随着做项目增多不可避免地接触到了设计模式,现在各大文档中呈现的设计模式总共有23种,实际上使用中的肯定比23种多,为了让自己深刻理解设计模式,本博决定自己手写这些设计模式,便于在项目中灵活 ...

  4. 23种设计模式【全】 包含:模式定义 使用场景 实现步骤 优缺点 模式区别 UML类图 示例代码 注意项等

    23种设计模式(全) ***项目地址***:[GitHub](https://github.com/yjhroot/design-pattern) 声明 模式分类(3大类) 创建型模式(共5种) 结构 ...

  5. 23种设计模式(十四)模板方法模式(阁瑞钛伦特软件-九耶实训)

    常说的设计模式是23种设计模式,分为3大类: 创建型模式5种:工厂方法.抽象工厂.单例.建造者.原型 结构型模式7种:适配器.代理.桥接.装饰者.外观.享元.组合 行为型模式11种:模板方法.解释器. ...

  6. 23种设计模式(二十三)访问者模式(阁瑞钛伦特软件-九耶实训)

    常说的设计模式是23种设计模式,分为3大类: 创建型模式5种:工厂方法.抽象工厂.单例.建造者.原型 结构型模式7种:适配器.代理.桥接.装饰者.外观.享元.组合 行为型模式11种:模板方法.解释器. ...

  7. 23种设计模式之简单工厂模式,工厂方法模式,抽象工厂模式详解

    工厂模式详解 1. 简单工厂模式 1.1 需求分析 1.2 使用传统方式实现 1.2.1 类图 1.2.2 代码实现 1.2.2.1 新建pizza抽象类 1.2.2.2 希腊披萨实现类 1.2.2. ...

  8. 23种设计模式之简单工厂

    简单工厂模式描述的是,通过类的继承关系,父类(工厂类)与子类(产品类),调用父类中的方法,实际干活儿的是子类中的方法:封装需求的不确定性,做出通用的编程,下面以常用的计算器为例: 最容易想到的写法是: ...

  9. 23种设计模式(7):原型模式

    本文主要介绍设计模式中的原型模式. 现在电子账单越来越流行了,比如你的信用卡,到月初的时候银行就会发一份电子邮件到你邮箱中,说你这个月消费了多少,什么时候消费的,积分是多少等等,这是每个月发一次,还有 ...

最新文章

  1. 用户控件和服务器控件的数据绑定
  2. android 封装状态页面,Android 缺省页状态切换方案
  3. linux 系统网络服务器组建,配置和管理实训教程 pdf,Linux网络服务器配置管理项目实训教程2...
  4. 查询局域网内在线电脑IP
  5. ES6基础5(Promise)-学习笔记
  6. php 整数 比较,php中字符串和整数比较
  7. 路由控制器Express的路由控制方法
  8. 仓库管理员怎样做台账_仓库主管岗位职责
  9. [再学Python] - 面向对象的程序设计- 对象和类
  10. 第九章 深度强化学习-Double DQN
  11. 经典200例-003 为项目添加已有类
  12. iwconfig工具
  13. IPv4(分类编址)
  14. WIN7系统设置保护视力的豆沙绿过程
  15. ECC椭圆曲线加密的特点以及在有限域(Fp)的三点共线问题
  16. Entry name ‘org/apache/commons/codec/language/bm/gen_approx_greeklatin.txt’ collided
  17. Docker入门教程 Part 1 基础概念 - 镜像、容器、仓库
  18. Python爬NBA球员数据
  19. 网上订餐系统java论文_网上订餐系统的毕业设计
  20. 彻底搞懂javascript中的replace函数

热门文章

  1. NYOJ - 盗梦空间
  2. Deranging Hat
  3. C#之:并行编程 -4
  4. 【SR Works】使用HTC Vive Pro结合SteamVR在Unity中制作MR内容
  5. adb push fail
  6. python 5行代码实现图片中文字识别
  7. 用kmer做gwas分析
  8. Java编码规范总结(参考腾讯编码规范)
  9. VMware --- 创建设置虚拟网卡
  10. SQL SERVER使用技巧集