今天做个简单的工厂设计模式,上代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
string r = Console.ReadLine();
NoteBook nb = getNoteBook(r);
nb.sayHello();
Console.ReadKey();
}
public static NoteBook getNoteBook(string brand) {
NoteBook nb = null;
if (brand == "ibm")
{
nb = new IBM();
}
else if (brand == "acer")
{
nb = new Acer();
}
else{
nb = new Other();
}
return nb;
}
public abstract class NoteBook{
public abstract void sayHello();
}
public class IBM:NoteBook{
public override void sayHello(){
Console.WriteLine("我是ibm");
}
}
public class Acer : NoteBook
{
public override void sayHello()
{
Console.WriteLine("我是Acer");
}
}
public class Other : NoteBook
{
public override void sayHello()
{
Console.WriteLine("我是其他电脑");
}
}
}
}
一个父类,然后几个子类实现其方法。根据用户的不同输入,会实例化不同的对象,输出不同的内容。