简单工厂的最最简单应用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Calculate cal = factory.CreateOper ("-");
cal.A = 10;
cal.B = 20;
Console.WriteLine ( cal.GetResult());
cal = factory.CreateOper("+");
cal.A = 10;
cal.B = 20;
Console.WriteLine(cal.GetResult());
}
}
abstract class Calculate
{
double _NumA=0;
double _B=0;
public double A
{
get
{
return _NumA;
}
set
{
_NumA = value;
}
}
public double B
{
get { return _B; }
set { _B = value; }
}
public abstract double GetResult();
}
class Add : Calculate
{
public override double GetResult()
{
return A +B;
}
}
class Minus : Calculate
{
public override double GetResult()
{
return A - B;
}
}
class factory
{
public static Calculate CreateOper(string oper)
{
Calculate op=null;
switch (oper )
{
case "+":
op= new Add();
break;
case "-":
op= new Minus ();
break;
}
return op;
}
}
}
本文介绍了一个使用简单工厂模式实现加减运算的例子。通过抽象基类和具体子类的设计,配合简单工厂来创建不同类型的计算对象,展示了如何灵活地扩展新的运算类型。
9435

被折叠的 条评论
为什么被折叠?



