标题:[转帖]c#从“有病”说起(工厂模式前传)
取消只看楼主
rainlily0315
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2005-11-19
 问题点数:0 回复次数:1 
[转帖]c#从“有病”说起(工厂模式前传)

设计模式随笔-从“有病”说起(工厂模式前传)

--------------------------------------------------------------------------------

作者:吕震宇



Version:1.0 URL:http://www.cnblogs.com/zhenyulu/articles/41388.html
关键词:设计模式、工厂

using System;

public class Client
{
public static void Main(string[] argvs)
{
Car c;

if(argvs.Length < 1)
{
PrintHelp();
return;
}

// 司机将车开来
if(argvs[0] == "V")
c = new Volvo();
else if(argvs[0] == "B")
c = new Bench();
else if(argvs[0] == "M")
c = new Mazda();
else
{
PrintHelp();
return;
}

// C#先生发号施令“开车!”
c.Drive();
}

private static void PrintHelp()
{
Console.WriteLine("Please input a correct car type.(V, B, M)");
Console.WriteLine("For example: CarTest M");
}
}

public abstract class Car
{
public abstract void Drive();
}

public class Volvo : Car
{
public override void Drive()
{
Console.WriteLine("Driving Volvo ");
}
}

public class Bench : Car
{
public override void Drive()
{
Console.WriteLine("Driving Bench ");
}
}

public class Mazda : Car
{
public override void Drive()
{
Console.WriteLine("Driving Mazda ");
}
}
详细解释请参阅原文 http://www.cnblogs.com/zhenyulu/articles/41388.html

搜索更多相关主题的帖子: 有病 工厂 转帖 模式 
2005-11-28 12:32
rainlily0315
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2005-11-19
得分:0 
你看看我问的问题吧
那是关于基础类和派生类的,我觉得只有把那个弄明白了才能看这个,这个是设计模式方面的。
下边的例子
class Vehicle{}
class Car : Vehicle
{}
Car acar = new car();//创建对象
Vehicle aVehicle = new Car();//为什么这么设计呢?

闯出自己的天空
2005-11-28 15:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-35499-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.328414 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved