2.简单工厂模式

来源:互联网 发布:c语言无法打开txt文件 编辑:程序博客网 时间:2024/06/05 20:12

package 简单工厂模式;

//简单工厂模式
class Operation//运算类
{

protected double m=0;
protected double n=0;

public void setNum(double m,double n){
 this.m=m;
 this.n=n;
}
public double GetResult()
{
  double d=0;
  return d;
}

}

 

class AddOperation extends Operation//加法类
{
public double GetResult()
{
return m+n;
}

}


 class SubOperation extends Operation//减法类
{
public double GetResult()
{
return m-n;
}

}

 


 class MulOperation extends Operation//乘法类
{
public double GetResult()
{
return m*n;
}

}

 


 class DivOperation extends Operation//除法类
{
public double GetResult()
{
 if(n==0)System.out.println("除数不能为0");
return m/n;
}

}


class SimpleFactory//简单工厂类
{
   public static Operation CreateOperation(char c)//静态工厂方法
  {  Operation  oper=null;
    //定义一个父类的对象变量
    switch(c)
    {
     case '+':
       oper =new AddOperation();
       break;
     case '-':
       oper=new SubOperation();
       break;
     case '*':
       oper=new MulOperation();
       break;
     case '/':
       oper=new DivOperation();
       break;
   }
   return oper;

}
}
 public class TestClass {
   public static void main(String[] args) {

 Operation oper=SimpleFactory.CreateOperation('+');
 oper.setNum(3, 2);
 double Result=oper.GetResult();
 System.out.println(Result);

 }

}

 

原创粉丝点击