50.C#--用抽象方法实现简单工厂设计模式-创新互联
static void Main(string[] args)
{
//用抽象类实现一个简单的工厂设计模式
//根据用户的输入,去判断生产哪种品牌的笔记本
Console.WriteLine("请输入你想要生产的笔记本品牌");
string brand = Console.ReadLine();
//将输入的值代入静态方法判断要生产哪种笔记本,然后赋值给父类
NoteBook nb = GetNoteBook(brand);
//根据输入判断的结果,调用哪个类的方法,输出生产笔记本打招呼结果
nb.SayHello();
Console.ReadKey();
}
//简单工厂最核心部分,根据用户输入,创建对象赋值给父类
public static NoteBook GetNoteBook(string brand)
{
NoteBook nb= null;
switch (brand)
{
case "Lenovo":nb = new Lenovo();
break;
case "ACER":nb = new Acer();
break;
case "Dell":nb = new Dell();
break;
case "ASUS":nb = new ASUS();
break;
}
return nb;
}
//因为一开始我们并不知道用户想生产什么样的笔记本,所以我们用抽象类去实现
//注意:父类方法有意义,虚方法.
//当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法.
public abstract class NoteBook
{
public abstract void SayHello();
}
public class Lenovo : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是联想笔记本");
}
}
public class Acer : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是宏基笔记本");
}
}
public class Dell : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是Dell笔记本");
}
}
public class ASUS : NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是华硕笔记本");
}
}
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:50.C#--用抽象方法实现简单工厂设计模式-创新互联
标题URL:http://ybzwz.com/article/dhsjhh.html