java中简单工厂模式(静态工厂方法模式)
来源:互联网 发布:数据作假和抄袭 编辑:程序博客网 时间:2024/05/16 10:55
简单工厂模式
简单工厂模式也叫做静态工厂方法模式。
简单工厂模式组成:
• 工厂类角色:本模式的核心,含有一定的商业逻辑和判断逻辑,是由一个具体类实现。
• 抽象产品角色:具体产品抽象出来的父类或者接口,用于子类的继承或者实现,通常由抽象类或接口表现。
• 具体产品角色:工厂类创建的对象就是该角色的实例。一般是个具体类,继承或实现抽象产品角色。
可以结合以下的示例和概念一起理解
1、工厂类角色:
package com.jcxy.demo07;/** * * 负责生产所需要的对象 * * @author Mr Wang * @version [V1.00, 2015-12-7] * @see [相关类/方法] * @since V1.00 */public class Factory{ //静态方法(生产工具) public static Car getCar(String name) { if("BMW".equals(name)) { return new BMW(); } else if("Benz".equals(name)) { return new Benz(); } else if("QQ".equals(name)) { return new QQ(); } else { return null; } }}
package com.jcxy.demo07;/** * 具体产品抽象出来的父类或者接口 * 一般是具体产品继承的父类或实现的接口 * * @author Mr Wang * @version [V1.00, 2015-12-7] * @see [相关类/方法] * @since V1.00 */public interface Car{ //只定义共有的行为,但是具体的实现则由子类动态的实现 public abstract void drive();}
package com.jcxy.demo07;//BMW产品类public class BMW implements Car{ public void drive() { // TODO Auto-generated method stub System.out.println("BMW is driving"); }}//Benz产品类package com.jcxy.demo07;public class Benz implements Car{ public void drive() { // TODO Auto-generated method stub System.out.println("Benz is driving"); } }
package com.jcxy.demo07;
//QQ产品类public class QQ implements Car{ public void drive() { // TODO Auto-generated method stub System.out.println("QQ is driving"); } }
测试类
package com.jcxy.demo07;public class Test{ public static void main(String[] args) { //工厂生产QQ对象 Car qq = Factory.getCar("QQ"); qq.drive(); //工厂生产Benz对象 Car benz = Factory.getCar("Benz"); benz.drive(); //工厂生产BMW对象 Car bmw = Factory.getCar("BMW"); bmw.drive(); //如果生产一个次品(即工厂里不生产的产品),会怎么样呢?// Car w = Factory.getCar("W"); // w.drive();会有java.lang.NullPointerException,原因在于返回的null,所以在drive之间还是需要判断一下对象是否为空才严谨 }}打印输出:
QQ is driving
Benz is driving
BMW is driving
0 0
- java中简单工厂模式(静态工厂方法模式)
- java va中工厂模式( 静态工厂模式、工厂方法模式、抽象工厂模式)的介绍以及简单例子
- JAVA之工厂模式(静态工厂模式(简单工厂模式)、工厂方法模式、抽象工厂模式)
- Java工厂模式(简单工厂、工厂方法、抽象工厂)
- [设计模式](二):工厂模式(简单工厂|静态工程、工厂方法|多工厂、抽象工厂)
- Java设计模式--工厂模式(简单工厂+工厂方法)
- Java设计模式-工厂模式(简单工厂+工厂方法)
- 静态工厂模式(简单工厂模式)
- 简单工厂模式(静态工厂模式)
- 学习心得---简单工厂模式/静态工厂方法
- java工厂模式-简单工厂,工厂方法,抽象工厂模式
- java学习之工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 工厂模式(简单工厂、工厂方法)
- java简单静态工厂模式
- java中的工厂模式(简单工厂模式+工厂方法模式)
- 静态工厂(简单工厂)模式
- JAVA设计模式:简单静态工厂方法模式
- 工厂模式(简单工厂模式、工厂方法模式)
- 这是一个熟悉Linux的心路历程><
- 计算机视觉领域稍微容易中的期刊
- POJ 1488 TEX Quotes
- 人工智能:第七章 机器学习
- 数据文件最大值
- java中简单工厂模式(静态工厂方法模式)
- 获取英文字符串的首字母和汉字字符串的拼音首字母
- 监控MySQL主从同步延时
- 【SSH项目实战】国税协同平台-21.PowerDesigner概念、物理模型
- Light OJ 1043 三角形比例问题
- 【SSH项目实战】国税协同平台-22.逆向工程
- 推荐系统导论笔记(六)——Assignment3
- 人工智能:第九章 Agent (艾真体)
- online_judge_1029