设计模式——"simple Factory"
2024-08-20 13:49:22
顾名思义,工厂模式就是类似于生活中的工厂,可以生产我们想要的东西,回到代码,假如我们需要一个实例,直接从工厂中拿即可。
eg:假如我们定义一个“球”类的接口
public interface Ball{
public void sayName();
}
此时我们再定义两个球类实现这个接口
public class Football implements Ball{
public void sayName() {
System.out.println("i am a football");
}
}
public class Basketball implements Ball{
public void sayName() {
System.out.println("i am a basketball ");
}
}
最后我们定义工厂:
public class BallFactory{
public static Ball getBall(String ballname){
Ball b = null ;
if("football".equals("ballname")){
b=new Football();
}
if("basketball".equals("ballname")){
b=new Basketball();
}
return b;
}
public static void main(String[] a){
Ball b = BallFactory.getBall("football");
b.sayName();
}
}
当我们需要哪个球类时,就可以从工厂中拿了。
最新文章
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
- An exception occurred while acquiring a poolable resource. Will retry.
- OC-protocol
- text()、html() 以及 val()的区别
- EC6 map 和 set
- JS-定时器管理实例函数封装
- js追加元素,以及元素位置
- Vim优化
- 十一 SOA 与 ESB
- 嵌入式中的 *(volatile unsigned int *)0x500 解释
- SSRS和SSAS是支持VB的
- js对象的复制,传递,新增,删除和比较
- myBatis源码之BatchExecutor
- ssm框架中文请求乱码get
- 2019 The 19th Zhejiang University Programming Contest
- yum 原理C/S原理结构图
- vue 之 key
- VMware中四种网络连接模式的区别
- 【转】linux 磁盘挂载
- SQL Server 2008 R2:error 26 开启远程连接详解
热门文章
- [ACM_模拟] ZOJ 3713 [In 7-bit 特殊输出规则 7bits 16进制]
- Django站点管理--ModelAdmin
- 深入理解 CSS 的 :before 和 :after 选择器(制作select下拉列表美化插件)
- 关于堆排序和topK算法的PHP实现
- 隐藏路由器的WIFI信号,防蹭网
- paip.提升效率--gui 的选择--swing最佳实践swt awt
- Oracle数据库建表+添加数据练习
- WindowsPhone App如何扩展能够使用的内存
- FreeCodeCamp 中级算法(个人向)
- 纯css制作带三角border篇(兼容所有浏览器)