设计模式之(简单工厂)(C#实现)(程杰)

接口父类的定义,把子类中公共的部分放到父类中。最大限度利用继承。。。

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();

 

附录图稍后:

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/slove/archive/2012/07/11/2587168.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值