c#面向对象10--简单工厂设计模式
2021-05-21 本文已影响0人
Mona_Song
23种设计模式
1.单例模式
2.抽象工厂模式
3.工厂方法模式
4.建造者模式
5.原型模式
6.适配器模式
7.装饰器模式
8.代理模式
9.外观模式
10.桥接模式
11.组合模式
12.享元模式
13.策略模式
14.模板方法模式
15.观察者模式
16.迭代器模式
17.责任链模式
18.命令模式
19.备忘录模式
20.状态模式
21.访问者模式
22.中介者模式
23.解释器模式
设计模式简介 | 菜鸟教程 (runoob.com)
简单工厂设计模式
简单工厂设计模式- 例如,工厂生产四种类型的笔记本电脑,工厂不知道用户要哪个类型的笔记本电脑,这时给用户一个父类肯定不会出错,再根据用户的输入给他把用户需要的子类赋值给父类对象即可。
- 核心:是工厂(工厂与用户的交互,根据用户的输入不同有不同的反馈)
namespace 简单工厂设计模式
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("what kind of computer wouuld you want?");
string brand = Console.ReadLine();
computer cp = GetBrand(brand); ;
cp.SayHello();
Console.ReadKey();
}
public static computer GetBrand(string brand)//错误一:正确输入:string brand,,,我的输入:brand
{
computer cp = null;//Tips:这里要先声明computer cp=null对象和return cp,然后在这两条语句中间写,防止没有返回值的情况;
switch (brand)
{
case "Acer": cp =new Acer();//错误二: 正确输入: case "Acer":,,,我的输入:case Acer:
break;
case "Lenovo": cp = new Lenovo();
break;
case "dell": cp = new dell();
break;
}
return cp;
}
}
public abstract class computer
{
public abstract void SayHello();
}
public class Acer : computer
{
public override void SayHello()
{
Console.WriteLine("这里是Acer笔记本");
}
}
public class Lenovo : computer
{
public override void SayHello()
{
Console.WriteLine("Lenovo");
}
}
public class dell : computer
{
public override void SayHello()
{
Console.WriteLine("戴尔笔记本");
}
}
}