java工厂模式java中的工厂模式是什么,请举例说明

java工厂模式  时间:2021-09-04  阅读:()

在JAVA中,通常在什么情况下用到工厂模式??

工厂模式负责将大量有共同接口的类实例化。

工厂模式可以决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。

工厂模式的几种形态: l 简单工厂模式。

又称静态工厂模式。

l 工厂方法模式。

Factory Method,又称多态工厂或虚拟构造子模式(Virtual Constructor)。

l 抽象工厂模式。

Abstract Factory,又称工具箱(Kit或ToolKit)模式。

工厂模式的逐步递演反映了抽象的步步加深、解决问题

j2ee有哪些设计模式?什么叫工厂模式。

Java中的23种设计模式: Factory(工厂模式),Builder(建造模式),FactoryMethod(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式),Facade(门面模式), Adapter(适配器模式),Bridge(桥梁模式),Composite(合成模式), Decorator(装饰模式),Flyweight(享元模式),Proxy(代理模式), Command(命令模式),Interpreter(解释器模式),Visitor(访问者模式), Iterator(迭代子模式),Mediator(调停者模式),Memento(备忘录模式), Observer(观察者模式),State(状态模式),Strategy(策略模式), TemplateMethod(模板方法模式),ChainOfResponsibleity(责任链模式) 工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。

首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。

然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。

当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

java中的工厂模式是什么,请举例说明

工厂模式就是在接口和子类之间加入了一个过渡端,通过此过渡端获得接口的实例化对象,这个过渡端也就是所谓的工厂类。

这样以后如果再有程序子类要扩充,直接修改工厂类客户端就可以根据标记得到相应的实例,增加了程序的灵活性。

eg: interface Fruit{ public void eat() ; } class Apple implements Fruit{ public void eat(){ System.out.println("** $$$$$") ; } }; class Orange implements Fruit{ public void eat(){ System.out.println("** #####。

") ; } }; class Factory{ // 定义工厂类 public static Fruit getInstance(String className){ Fruit f = null ; if("apple".equals(className)){ // 判断 f = new Apple() ; } if("orange".equals(className)){ // 判断 f = new Orange() ; } return f ; } }; public class InterfaceCaseDemo{ public static void main(String args[]){ Fruit f = Factory.getInstance(null) ; // 实例化接口 f.eat() ; } };

美国服务器20G防御 50G防御 688元CN2回国

全球领先的IDC服务商华纳云“美国服务器”正式发售啦~~~~此次上线的美国服务器包含美国云服务器、美国服务器、美国高防服务器以及美国高防云服务器。针对此次美国服务器新品上线,华纳云也推出了史无前例的超低活动力度。美国云服务器低至3折,1核1G5M低至24元/月,20G DDos防御的美国服务器低至688元/月,年付再送2个月,两年送4个月,三年送6个月,且永久续费同价,更多款高性价比配置供您选择。...

ZJI-全场八折优惠,香港服务器 600元起,还有日本/美国/韩国服务器

月付/年付优惠码:zji  下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达ZJI官方网站二、特惠香港日本服务器香港大埔:http://hkdb.speedtest.zji.net/香港葵湾:http://hkkw.speedtest.zji.net/日本大阪:http://jpsk.speedtest.zji.net/日本大阪一型 ...

RackNerd :美国大硬盘服务器促销/洛杉矶multacom数据中心/双路e5-2640v2/64G内存/256G SSD+160T SAS/$389/月

大硬盘服务器、存储服务器、Chia矿机。RackNerd,2019年末成立的商家,主要提供各类KVM VPS主机、独立服务器和站群服务器等。当前RackNerd正在促销旗下几款美国大硬盘服务器,位于洛杉矶multacom数据中心,亚洲优化线路,非常适合存储、数据备份等应用场景,双路e5-2640v2,64G内存,56G SSD系统盘,160T SAS数据盘,流量是每月200T,1Gbps带宽,配5...

java工厂模式为你推荐
实验室方案设计实验室设计有什么要求呀网页图标怎么把网页设置成桌面图标图片修改工具要修改图片有什么软件可用antiarpantiARP功能介绍一下活跃网络移动大V网是什么意思?网络图绘制双代号网络图的绘制方法?burndown如何画burndown chart摇一摇周边微信摇一摇周边怎么申请开通乐辞自驱力读后感官方网店淘宝网的官方网店是什么
虚拟主机购买 虚拟主机99idc 国外免费vps php主机 免费cdn加速 lighttpd windows2003iso 165邮箱 服务器维护方案 isp服务商 中国电信宽带测速网 空间首页登陆 阿里云官方网站 美国迈阿密 时间同步服务器 studentmain 一句话木马 9929 台式机主机 免费免备案cdn 更多