JAVA设计模式:工厂模式之抽象工厂
来源:互联网 发布:在职研究生知乎 编辑:程序博客网 时间:2024/06/15 21:55
抽象工厂模式的好处:
当增加需求的时候,不需要修改源代码,只需定义一个类实现Play接口,定义一个工厂类实现PlayFactory 即 定义类实现顶级接口,定义工厂类实现特定的接口
代码:
/** * 定义一个接口: * 方法:玩游戏 */package ac.bcc.cn.interf;public interface Play { /** * 玩的方法 */ public abstract void paly();}
/** *此类实现Play接口 */package ac.bcc.cn.clas;import ac.bcc.cn.interf.Play;public class PlayBasketBale implements Play { @Override public void paly() { System.out.println("正在打篮球"); }}
/** * 此类实现Play接口 */package ac.bcc.cn.clas;import ac.bcc.cn.interf.Play;public class PlayComputer implements Play{ @Override public void paly() { System.out.println("正在打LOL"); }}
/** * 工厂类:使用多态,创建对象 * 实现了PlayFactory接口 */package ac.bcc.cn.factory;import ac.bcc.cn.clas.PlayBasketBale;import ac.bcc.cn.interf.Play;import ac.bcc.cn.interf.PlayFactory;public class BaseketBallGameFactory implements PlayFactory{ @Override public Play creatInstance() { return new PlayBasketBale(); }}
/** * 工厂类:使用多态,创建对象 * 实现了PlayFactory接口 */package ac.bcc.cn.factory;import ac.bcc.cn.clas.PlayComputer;import ac.bcc.cn.interf.Play;import ac.bcc.cn.interf.PlayFactory;public class ComputerGameFactory implements PlayFactory{ @Override public Play creatInstance() { return new PlayComputer(); }}
/** * 测试类 */package ac.bcc.cn.test;import ac.bcc.cn.factory.BaseketBallGameFactory;import ac.bcc.cn.factory.ComputerGameFactory;import ac.bcc.cn.interf.Play;public class Test { public static void main(String[] args) { //通过ballGameFactory工厂,获取打电子游戏对象 BaseketBallGameFactory ballGameFactory = new BaseketBallGameFactory(); Play bask = ballGameFactory.creatInstance(); bask.paly(); //通过computerGameFactory工厂,获取打电子游戏对象 ComputerGameFactory computerGameFactory = new ComputerGameFactory(); Play computer = computerGameFactory.creatInstance(); computer.paly(); }}
结果:
阅读全文
0 0
- JAVA设计模式之工厂模式之抽象工厂模式
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- java设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- Java设计模式 之 工厂模式及抽象工厂模式
- java设计模式之抽象工厂模式
- JAVA设计模式之抽象工厂模式
- Java设计模式之抽象工厂模式
- java设计模式之抽象工厂模式
- 【Java设计模式】之抽象工厂模式
- java设计模式 之 抽象工厂模式
- Java--设计模式之抽象工厂模式
- android性能优化
- 安卓面试准备的知识点
- bootstrap 轮播
- Java汉字转成汉语拼音工具类
- mysql---连接数太多 (1040 too many connection),调大连接
- JAVA设计模式:工厂模式之抽象工厂
- 第七周项目4-队列数组
- IoC---spring(实例解析)
- jdk1.6和jdk1.7的区别,action那边,会将前台传过来的json中的“双引号,自动过滤掉,导致后台识别json的时候报错。
- PHP+JQ+AJAX+json 数据库实时动态增删改查
- 多线程之多线程ThreadPoolExecutor
- spring boot 整合 redis,使用@Cacheable,@CacheEvict,@CachePut,jedisPool操作redis数据库
- java简单工厂设计模式实现计算器
- 程序员老司机带你Carry职场