java如何实现抽象工厂模式
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,小编给大家分享一下java如何实现抽象工厂模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!抽象工厂又被称为超级工厂 实例
千家信息网最后更新 2025年02月23日java如何实现抽象工厂模式
小编给大家分享一下java如何实现抽象工厂模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
抽象工厂又被称为超级工厂
实例解释:
一个人可以有一台电脑和一台手机,但是本人不去生成,本人只是去使用
有个超级工厂(AbstractFactory)抽象工厂,它下面有两个代工厂(1.专门生产手机的工厂,2.专门生产电脑的工厂)
负责生产电脑的工厂,就是一个简单工厂模式。
负责生产手机的工厂,也是一个简单手机工厂模式。
代码实现逻辑:
首先创建一个电脑接口--Computer,它只有draw()方法,它下面有两个牌子,
Dell 实体类,实现了draw()
Lenvo 实体类,实现了draw()
然后创建一个手机接口---phone,它只有call()方法,它也有两个牌子(实体类)
Mi 实体类
HuaWei实体类
然后定义一个AbstractFactory抽象工厂,它有两个产品(手机,电脑)
手机工厂继承抽象工厂,电脑工厂继承抽象工厂
然后定义一个产品工厂创建抽象工厂
最后demo类使用产品工厂
代码: 第一步 Computer,phone
public interface Computer { void draw();//画图功能}public interface Phone { void call();//打电话功能}
第二步:小米和华为实现Phone接口
public class Mi implements Phone{ @Override public void call() { System.out.println("小米手机打电话"); }}public class HuaWei implements Phone{ @Override public void call() { System.out.println("华为手机打电话"); }}
第三步:创建AbstractFactory抽象工厂,开放电脑和手机两个接口
public abstract class AbstractFactory { public abstract Computer getComputer(String computer); public abstract Phone getPhone(String phone);}
第四:手机工厂继承抽象工厂 ,电脑工厂继承抽象工厂
public class PhoneFactory extends AbstractFactory{ @Override public Computer getComputer(String computer) { return null; } @Override public Phone getPhone(String phone) { if(phone.equalsIgnoreCase("Mi")){ return new Mi(); }else if(phone.equalsIgnoreCase("HuaWei")){ return new HuaWei(); } return null; }}
public class ComputerFactory extends AbstractFactory{ @Override public Computer getComputer(String computer) { if(computer == null){ return null; } if(computer.equalsIgnoreCase("Dell")){ return new Dell(); }else if(computer.equalsIgnoreCase("Lenvo")){ return new Lenvo(); } return null; } @Override public Phone getPhone(String phone) { return null; }}
第5:FactoryProducer 来获取 AbstractFactory 对象
public class FactoryProducer { public static AbstractFactory getFactory(String choice){ if(choice.equalsIgnoreCase("Computer")){ return new ComputerFactory(); }else if(choice.equalsIgnoreCase("Phone")){ return new PhoneFactory(); } return null; }}
第6:demo使用产品工厂
public class AbstractDemo { public static void main(String[] args) { //获取手机工厂 AbstractFactory phoneFactory = FactoryProducer.getFactory("Phone"); //获取小米手机的对象 Phone mi = phoneFactory.getPhone("Mi"); //调用小米的方法 mi.call(); }}
以上是"java如何实现抽象工厂模式"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
工厂
手机
电脑
两个
实体
模式
产品
小米
接口
生产
方法
篇文章
专门生产
代码
内容
功能
只有
对象
牌子
华为
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
明光进口软件开发技术怎么样
商丘市安娜软件开发有限公司招聘
大同网络技术调试
服务器管理的论文
数据库安全因素
skyblock服务器地址
软件开发售前售中售后
云服务器管理与安装
运转灵活软件开发
浙江卫星同步服务器云服务器
专科计算机网络技术比较好
物流软件开发设计哪家有名
杭州铂数网络技术
微擎数据库字典 粉丝信息
手机用嵌入式软件开发
空间数据库理论及技术
楚留香手游游戏服务器
有集成显卡的服务器
哪个平台生产裸金属服务器好
服务器安全评估工具
重庆红色文化馆软件开发
昌平电脑服务器回收多少钱一个
校园网络安全视频
lgwing手机连接不上服务器
重庆网络技术学院官网
银行卡归属地 数据库
电商软件开发费用
微擎数据库字典 粉丝信息
青海智能养老软件开发专业制作
南邮网络安全答案