博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建型模式之二:工厂模式
阅读量:6898 次
发布时间:2019-06-27

本文共 1135 字,大约阅读时间需要 3 分钟。

  hot3.png

1. 工厂模式的故事

工厂模式的作用是根据不同的参数新建对象,下面的例子是关于在工厂中造人,如果我们问工厂要一个男孩,工厂就会生产一个男孩,如果我们问工厂要一个女孩,工厂就会生产一个女孩,基于不同的参数,工厂会生产不同的东西。

2.工厂模式的类图

3.工厂模式的代码

interface Human { public void Talk(); public void Walk();} class Boy implements Human{ @Override public void Talk() { System.out.println("Boy is talking...");  }  @Override public void Walk() { System.out.println("Boy is walking..."); }} class Girl implements Human{  @Override public void Talk() { System.out.println("Girl is talking...");  }  @Override public void Walk() { System.out.println("Girl is walking..."); }} public class HumanFactory { public static Human createHuman(String m){ Human p = null; if(m == "boy"){ p = new Boy(); }else if(m == "girl"){ p = new Girl(); }  return p; }}

4.工厂模式在Java标准库

根据不同的参数,getInstance()方法返回Calendar类不同实例:

java.util.Calendar - getInstance();  java.util.Calendar - getInstance(TimeZone zone);  java.util.Calendar - getInstance(Locale aLocale);  java.util.Calendar - getInstance(TimeZone zone,locale aLocale);  java.text.NumberFormat - getInstance();  java.text.NumberFormat - getInstance(Locale inLocate)

以上文章翻译自:

转载于:https://my.oschina.net/markho/blog/498168

你可能感兴趣的文章
开博啦
查看>>
ZOJ 1081 Points Within( 判断点在多边形内外 )
查看>>
flex模拟微信布局
查看>>
多线程测试java接口
查看>>
with 语句
查看>>
js基础知识点总结
查看>>
HTML5的新增方法
查看>>
protobuf c++例子
查看>>
eclipse中tomcat端口被占用如何解决
查看>>
通过CImageList加载图标 报错
查看>>
纯小白入手 vue3.0 CLI - 3.2 - 路由的初级使用
查看>>
安卓开发笔记——探索EventBus(转)
查看>>
对CAB文件进行数字签名
查看>>
Starting httpd:Could not reliably determine the server's fully qualified domain name
查看>>
关于Jackson默认丢失Bigdecimal精度问题分析
查看>>
什么是架构模式和架构风格
查看>>
那些年踩过的 Vue 坑(1)
查看>>
30分钟学会Git - 在码云实践
查看>>
关于安卓手机访问一些网站或者Fiori应用弹出安装证书的提示
查看>>
互联网公司面试必问的Redis题目
查看>>