设计模式之(简单工厂)(C#实现)(程杰)
2012-07-11 22:31
776 查看
接口父类的定义,把子类中公共的部分放到父类中。最大限度利用继承。。。
public class Operation
{
private int _numberA=0;
private int _numberB=0;
public int NumberA
{
get{return _numberA;}
set{_numberA=value;}
}
public int NumberB
{
get{return _numberB;}
set{_numberB=value;}
}
public virtual int GetResult()
{
int result=0;
return result;
}
}//子类1的实现表示一种产品或者说一种方式
class OperateA:Operation
{
public override int GetResult()
{
int result=0;
result=NumberA+NumberB;
return result;
}
}
//子类2实现
class OperateB:Operation
{
pulic override int GetResult()
{
int result=NumberA-NumberB;
return result;
}
}
class OperateC:Operation
{
public int GetResult()
{
int result=NumberA*NumberB;
return result;
}
}
public class OperationFactory
{
public static Operation createOperatin(string operate)
{
Operation oper=null;
swicth(operate)
{
case "add":
oper=new OperateA();
break;
case "Sub":
oper=new OperateB();
break;
case "Mull":
oper=new OperateC();
break;
}
return oper;
}
}
客户端调用:
Operation oper=OperationFactory.createOperation(texbox1.Text);
oper.NumberA=Convert.ToInt32(NumberA.Text);
oper.NumberB=Convert.ToInt32(NumberB.Text);
int result=oper.GetResult();
附录图稍后:
public class Operation
{
private int _numberA=0;
private int _numberB=0;
public int NumberA
{
get{return _numberA;}
set{_numberA=value;}
}
public int NumberB
{
get{return _numberB;}
set{_numberB=value;}
}
public virtual int GetResult()
{
int result=0;
return result;
}
}//子类1的实现表示一种产品或者说一种方式
class OperateA:Operation
{
public override int GetResult()
{
int result=0;
result=NumberA+NumberB;
return result;
}
}
//子类2实现
class OperateB:Operation
{
pulic override int GetResult()
{
int result=NumberA-NumberB;
return result;
}
}
class OperateC:Operation
{
public int GetResult()
{
int result=NumberA*NumberB;
return result;
}
}
public class OperationFactory
{
public static Operation createOperatin(string operate)
{
Operation oper=null;
swicth(operate)
{
case "add":
oper=new OperateA();
break;
case "Sub":
oper=new OperateB();
break;
case "Mull":
oper=new OperateC();
break;
}
return oper;
}
}
客户端调用:
Operation oper=OperationFactory.createOperation(texbox1.Text);
oper.NumberA=Convert.ToInt32(NumberA.Text);
oper.NumberB=Convert.ToInt32(NumberB.Text);
int result=oper.GetResult();
附录图稍后:
相关文章推荐
- C#基础:抽象类和抽象方法实现多态以及简单工厂设计模式的语法
- C#简单工厂设计模式实现计算器
- 设计模式C#实现(九)——工厂方法模式和简单工厂
- 设计模式学习(四): 1.简单工厂 (附C#实现)
- 简单工厂设计模式实现计算器的案例
- [设计模式]两种方法实现简单工厂模式
- [导入]C#设计模式之简单工厂篇
- 转:C#设计模式之简单工厂篇
- C#简单工厂设计模式
- C#基础系列——委托实现简单设计模式
- C#之三十八 简单工厂设计模式
- C#设计模式学习笔记---简单工厂模式
- 设计模式C++实现一:简单工厂模式
- C#设计模式之工厂模式(Factory)--01 简单工厂(Simple Factory)
- 设计模式实现(一)---简单工厂模式
- 设计模式之一:简单工厂模式,用python实现简易计算器
- (设计模式)简单工厂模式之通过配置文件动态创建实现类
- C#之三十八 简单工厂设计模式
- 【设计模式】【用DOM4J模拟spring实现简单工厂】
- C#设计模式 简单工厂模式