之前学习面向对象程序的时候,对设计模式不是太来电,这一久对程序框架进行设计的时候还是涉及到设计模式,
今天简单的对简单工厂模式进行学习,这只是自己的想法啊!写的不好勿喷。。。。
所谓工厂模式是对不同的对象,这些对象都相同的动作。。。 例如在数学的基本运算中 加法,减法,乘法,除法。 都是对二个数进行操作,返回到一个结果。
对二个数jinxinghuoq
public class oper {
private float numberA;
public float NumberA
{
get { return numberA; }
set { numberA = value; }
}
private float numberB;
public float NumberB
{
get { return numberB; }
set { numberB = value; }
}
不同的操作获得不同的结果
public virtual double result() {
double resule=0;
return resule;
}
// 这是简单的加法
public class add :oper{
// 对基类的操作
public override double result()
{
double resoule=0;
resoule = NumberA + NumberB;
return resoule;
}
}
public class chufa : oper{
public override double result()
{
double re = 0;
re = NumberA / NumberB;
return re;
}
}
暂时对这二个类进行操作 上面的代码可以看出 这二个类都对opear进行了继承。对虚函数进行重载
下面的是主函数的操作
void caozuo(string ope)
{
switch (ope)
{
case "+":
{
oprea = new add(); // 拆箱操作
oprea.NumberA = 10;
oprea.NumberB = 100;
double e = oprea.result();
print(e+"eee");
}
break;
case "-":
{
oprea = new jianf(); //
oprea.NumberA = 10;
oprea.NumberB = 100;
double e = oprea.result();
print(e + "eee");
}
break;
case "*":
{
oprea = new chenfa();
oprea.NumberA = 10;
oprea.NumberB = 100;
double e = oprea.result();
print(e + "eee");
}
break;
case "/":
{
oprea = new chufa();
oprea.NumberA = 10;
oprea.NumberB = 100;
double e = oprea.result();
print(e + "eee");
}
break;
}