简单工厂模式(Simple Factory Pattern)
2016-01-02 21:24
337 查看
描述:用一个单独的类来创建实例的过程,这个单独的类成为工厂类,工厂类决定实例化哪个对象!
代码:
/**
*
* @author wangdm15@mails.tsinghua.edu.cn:小民
*
*/
//运算抽象类
public abstract class Operation {
public abstract void operation(){
}
}
//加法类
public abstract class Add extends Operation {
public abstract void operation(){
System.out.println("加法");
}
}
//减法类
public abstract class Minuss extends Operation {
public abstract void operation(){
System.out.println("减法");
}
}
//乘法类
public abstract class Multiply extends Operation {
public abstract void operation(){
System.out.println("乘法");
}
}
//工厂类,用于接收一个参数,然后决定构造什么对象
public class OperationFactory {
private Operation operation;
public static Operation createOperation(int type)
{
switch(type){
case 1:
operation=new Add();
break;
case 2:
operation=new Minu();
break;
case 3:
operation=new Multiple();
break;
default:
operation=null;
break;
}
}
}
//用户端
public class Client{
public static void main(String[] args)
{
Operation operation;
operation= OperationFactor.createOperation(1);
//输出加法
operation.operation();
}
}
代码:
/**
*
* @author wangdm15@mails.tsinghua.edu.cn:小民
*
*/
//运算抽象类
public abstract class Operation {
public abstract void operation(){
}
}
//加法类
public abstract class Add extends Operation {
public abstract void operation(){
System.out.println("加法");
}
}
//减法类
public abstract class Minuss extends Operation {
public abstract void operation(){
System.out.println("减法");
}
}
//乘法类
public abstract class Multiply extends Operation {
public abstract void operation(){
System.out.println("乘法");
}
}
//工厂类,用于接收一个参数,然后决定构造什么对象
public class OperationFactory {
private Operation operation;
public static Operation createOperation(int type)
{
switch(type){
case 1:
operation=new Add();
break;
case 2:
operation=new Minu();
break;
case 3:
operation=new Multiple();
break;
default:
operation=null;
break;
}
}
}
//用户端
public class Client{
public static void main(String[] args)
{
Operation operation;
operation= OperationFactor.createOperation(1);
//输出加法
operation.operation();
}
}
相关文章推荐
- 数学分析原理-第1章 实数系和复数系
- Γ函数及Γ分布,t分布,ϰ分布和费舍尔分布
- WEB安全性测试
- npm安装与文件夹同名的包会出错
- CentOS 6.7安装Tomcat 7
- 海量数据解决思路之Hash算法
- Spring简化配置
- (一)WCF基础
- [笔记] 最优化方法 - 凸集
- 编译安装php5.6
- Hibernate中load方法与get方法的区别
- 树和二叉树
- Android 相机 III-相机功能
- 怎样写一份人人满意的年终总结
- 欢迎使用CSDN-markdown编辑器
- 04.创建型————创建者模式
- Android之Android WebView常见问题及解决方案汇总
- git 协作流程 【转】
- Python比较for循环、列表解析、迭代器、map之间运算时间关系
- 写在2016年初