设计模式
设计这个项目的一种方式。经常用到的一共有23中设计模式(C#中的设计模式)。是为了解决日常开发中遇到的问题。
简单工厂设计模式
根据用户的输入,创建子类的对象,赋值给父类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _02访问修饰符
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入你想要的笔记本品牌:");
string brand = Console.ReadLine();
GetLaptop(brand).SayHello();
Console.ReadKey();
}
/// <summary>
/// 简单工厂,根据用户输入的品牌调用不同品牌的子类
/// </summary>
/// <param name="brand">笔记本品牌</param>
/// <returns>笔记本子类</returns>
public static Laptop GetLaptop(string brand)
{
Laptop lt = null;
switch (brand)
{
case "Lenovo":
lt = new Lenovo();
break;
case "IBM":
lt = new IBM();
break;
case "Acer":
lt = new Acer();
break;
case "Dell":
lt = new Dell();
break;
default:
Console.WriteLine("品牌输入是错误的!");
break;
}
return lt;
}
}
/// <summary>
/// 父类笔记本,定义为虚类
/// </summary>
public abstract class Laptop
{
public abstract void SayHello();
}
/// <summary>
/// 子类联想牌笔记本
/// </summary>
public class Lenovo : Laptop
{
public override void SayHello()
{
Console.WriteLine("我是联想电脑");
}
}
/// <summary>
/// 子类鸿基笔记本
/// </summary>
public class Acer : Laptop
{
public override void SayHello()
{
Console.WriteLine("我是鸿基电脑");
}
}
/// <summary>
/// 子类戴尔笔记本
/// </summary>
public class Dell : Laptop
{
public override void SayHello()
{
Console.WriteLine("我是Dell电脑");
}
}
/// <summary>
/// 子类IBM笔记本
/// </summary>
public class IBM : Laptop
{
public override void SayHello()
{
Console.WriteLine("我是IBM电脑");
}
}
}