黑马程序员技术交流社区
标题:
求个简单工厂的实例
[打印本页]
作者:
逆天火焰猫
时间:
2014-4-1 15:54
标题:
求个简单工厂的实例
本帖最后由 逆天火焰猫 于 2014-4-12 10:33 编辑
最好来点注释啥的 刚看过视频有点迷糊
作者:
cmcm2014
时间:
2014-4-1 16:12
public class Ball
{
public string Play(string ballType)
{
return “Play+"ballType"”;
}
}
public class FootBall: Ball
{
public override string Play(string ballType)
{
return “Play+ballType”;
}
}
public class BasketBall: Ball
{
public override string Play(string ballType)
{
return “Play+ballType”;
}
}
创建简单工厂public static Bal CreatObject(string operate)
{
Operation oper = null;
switch (operate)
{
case "FootBall":
oper = new FootBall();
break;
case "BasketBall":
oper = new OperationSub();
break;
case "*":
oper = new BasketBall();
break;
default:
break;
}
return oper;
}
调用工厂:
Ball b=CreatObject.Play("FootBall");
工厂模式其实就是不需要你做实例化类的操作,已经有了一个实例化类的处理。
本例中有一个Ball的类,一个抽象方法Play,然后2个子类,足球,篮球。Play()不知道玩的是什么球类,但是你传入FootBall时,因为有了CreatObject这个方法,他自己去匹配需要实例化的对象是谁,所以Ball a=CreatObject.Play("FootBall")就实现了。
作者:
茹化肖
时间:
2014-4-3 22:46
http://www.cnblogs.com/ruhuaxiao/p/3610437.html
我在博客园写的 你可以参考下.不想复制黏贴给你
作者:
SunshineGirl
时间:
2014-4-7 09:02
要及时的设置成提问结束,这样版主才会给你加分的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2