| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 788 人关注过本帖
标题:[转帖]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
快速回复:[转帖]c#从“有病”说起(工厂模式前传)
数据加载中...
 
   



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

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