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("我是华硕笔记本"); } }}