您的位置:首页 > 编程语言 > Java开发

看了就知道的工厂模式---java版_源码下载

2013-02-17 23:40 316 查看
项目结构:



运行结果:



=================================================

代码部分:

=================================================

/Factory/src/com/b510/test/FactoryTest.java

/**
*
*/
package com.b510.test;

import com.b510.factory.AddFactory;
import com.b510.ifactory.IFactory;
import com.b510.operate.Operation;

/**
* @author hongten(hongtenzone@foxmail.com)
* @date 2013-2-17
*/
public class FactoryTest {

public static void main(String[] args) {
IFactory operateFactory  = new AddFactory();//这里如果我们想要换另外一种操作,那么只需要修改这里就可以啦,当然必须保证有这样的操作类供选择
Operation operation = operateFactory.createOperation();
operation.setNumberA(20);
operation.setNumberB(34);
double result = operation.getResult();
System.out.println(result);
}
}


/Factory/src/com/b510/ifactory/IFactory.java

/**
*
*/
package com.b510.ifactory;

import com.b510.operate.Operation;

/**
* 抽象工厂(所有的*Factory都实习抽象工厂)
* @author hongten(hongtenzone@foxmail.com)
* @date 2013-2-17
*/
public interface IFactory {

public Operation createOperation();
}


/Factory/src/com/b510/factory/AddFactory.java

/**
*
*/
package com.b510.factory;

import com.b510.ifactory.IFactory;
import com.b510.operate.AddOperation;
import com.b510.operate.Operation;

/**
* @author hongten(hongtenzone@foxmail.com)
* @date 2013-2-17
*/
public class AddFactory implements IFactory{

@Override
public Operation createOperation() {
return new AddOperation();
}

}


/Factory/src/com/b510/operate/Operation.java

/**
*
*/
package com.b510.operate;

/**
* 操作类(所有的*Operation都继承操作类)
* @author hongten(hongtenzone@foxmail.com)
* @date 2013-2-17
*/
public class Operation {

private double numberA;

private double numberB;

public double getResult() {
double result = 0;
return result;
}

public double getNumberA() {
return numberA;
}

public void setNumberA(double numberA) {
this.numberA = numberA;
}

public double getNumberB() {
return numberB;
}

public void setNumberB(double numberB) {
this.numberB = numberB;
}

}


/Factory/src/com/b510/operate/AddOperation.java

/**
*
*/
package com.b510.operate;

/**
* 加法
* @author hongten(hongtenzone@foxmail.com)
* @date 2013-2-17
*/
public class AddOperation extends Operation{

public double getResult(){
double result = 0;
result = getNumberA() + getNumberB();
return result;
}
}


源码下载:http://files.cnblogs.com/hongten/Factory.zip
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: