java简单工厂设计模式
1.概念:
就是建立一个工厂类,对实现了某一个接口的的一些类进行实例的创建,其实质是根据传入的参数,动态判断应该创建
哪一个产品类的实例。
2,代码举例:
写一个娃娃的接口,有两个产品类,一个是布娃娃,一个是芭比娃娃,由工厂对象决定创建出哪一个类的实例。
娃娃接口:
//娃娃
interface Doll{public String getInfo();
}
布娃娃 和 芭比娃娃的实现类
//布娃娃
class ClothDoll implements Doll{public String getInfo(){return "我是布娃娃,我怕脏。";}
}
//芭芘娃娃
class BarbieDoll implements Doll{public String getInfo(){return "我是芭芘娃娃,我美的不可思议。";}
}
工厂类:有一个方法 getInstance 根据条件产生不同的对象
注意这里是多态的应用。返回的对象是Doll类型的父类对象,也就是向上转型。
//工厂类
class DollFactory{//只负责产生对象public static Doll getInstance(String name){//根据条件生产不同的对象if("cloth".equals(name)){return new ClothDoll();}else if("barbie".equals(name)){return new BarbieDoll();}return null;}
}
在主程序里调用一下;
public class FactoryDemo{public static void main(String[] args){Doll clothDoll = DollFactory.getInstance("cloth");if(clothDoll!=null){System.out.println(clothDoll.getInfo());}Doll barbieDoll = DollFactory.getInstance("barbie");if(barbieDoll!=null){System.out.println(barbieDoll.getInfo());}}
}
结果为:
我是布娃娃,我怕脏
我是芭比娃娃,我很漂亮
java简单工厂设计模式相关推荐
- Java设计模式之简单工厂设计模式
工厂设计模式 简单工厂设计模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂设计模式是工厂设计模式家族中最简单实用的模式 我们还是通过例子进行说明 实例场景:假设就是一个工厂生产phone和t ...
- java简单工厂模式_Java 简单工厂模式
Java 简单工厂模式 2014-05-28·WeaponX 3717 次浏览 ## 介绍 简单工厂模式又称静态工厂模式. 简单工厂模式由工厂类角色.抽象产品角色和具体产品角色组成. 工厂类角色是本模 ...
- 简单工厂设计模式与工厂设计模式
工厂设计模式的目的:降低调用者和实现者之间的耦合度.当需求发生变化(增加或改变)时,不改变原有代码的结构. 1.简单工厂设计模式 优点:降低了调用者和实现者之间的耦合度.当引入一个新的实现类型时,只需 ...
- 芝士和奶酪一样吗_使用简单工厂设计模式就像制作芝士蛋糕一样
芝士和奶酪一样吗 by Sihui Huang 黄思慧 使用简单工厂设计模式就像制作芝士蛋糕一样 (Using the Simple Factory design pattern is a lot l ...
- 【简单工厂设计模式】
一:Simple Factory(简单工厂) 1. 何为简单工厂设计模式: 在创建一个对象的时候不向客户暴露内部 ...
- 设计模式——简单工厂设计模式
简单工厂设计模式 建立一个工厂类,对实现了同一接口的类进行实例的创建.简单工厂模式的实质是有由一个工厂类根据传入的参数动态的决定应该创建哪一个实现类. /** 简单工厂设计模式* *///抽象接口水果 ...
- 工厂设计模式、简单工厂设计模式、抽象工厂设计模式
一.简单工厂设计模式.工厂设计模式,抽象工厂设计模式总体分析 简单工厂模式 简单工厂模式不是23种里的一种,简而言之,就是有一个专门生产某个产品的类. 比如下图中的鼠标工厂,专业生产鼠标,给参数0,生 ...
- Qt下实现简单工厂设计模式
简述 简单工厂设计模式是一种基础简单而常用的设计模式,对理解封装.继承和多态特性有非常大的帮助.下面就来在Qt下实现简单工厂模式. 代码之路 实现简单工厂至少需要四个类.其中最主要的两个类是工厂类和一 ...
- java设计模式--简单工厂设计模式SimpleFactoryPattern
简单工厂模式 简单工程模式又称静态工厂方法,它的核心是类中包含一个静态方法,该方法用于根据参数来决定返回实现 同一接口不同类的实例. public class SimpleFactory ...
最新文章
- 【错误记录】Flutter 界面跳转报错 ( Navigator operation requested with a context that does not include a Naviga )
- Python 多线程进程高级指南(二)
- 《认清C++语言》---接口继承和实现继承
- NSGA2 算法MATLAB完整代码 中文注释详解
- 机器人仿真软件介绍(V-REP,ROS等等)
- Keytool 工具使用
- 4月编程排行榜出啦~速看新变化~
- [SSL_CHX][2021-08-20]幸运数字们
- QStyle之PenStyle的CustomDashLine使用
- Jenkins插件配置国内镜像
- Vivado高速时钟差分走线布线
- 训练集样本不平衡问题对深度学习的影响
- 爬壁机器人外文文献_仿生爬壁机器人的研究现状
- 动态ip代理:保护ip地址,这五种方法请收好
- PHP CURL实现单线程、多线程方法
- USB串口导致鼠标乱跳
- C# 窗口关闭再次确认及取消
- formatDate方法
- 查看服务器共享文件夹地址,查看服务器共享文件夹
- 【nodePort、port、targetPort、containerPort的区别】