C#学习笔记之简单工厂设计模式
2016-05-30 09:46
906 查看
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 简单工厂类 { class Program { static void Main(string[] args) { // C#23种设计模式之简单工厂设计模式。 Console.WriteLine("请输入你想要的笔记本品牌:"); string strBrand = Console.ReadLine(); NoteBook nb = GetBrand(strBrand); nb.SayHello(); Console.ReadKey(); } // 简单工厂设计模式的核心:根据用户的输入创建对象并赋值给父类 public static NoteBook GetBrand(string strBrank) { NoteBook nb = null; switch (strBrank) { case "Lenove": nb = new Lenove(); break; case "IBM": nb = new IBM(); break; case "Dell": nb = new Dell(); break; default: break; } return nb; } } // 使用抽象类、方法 //public abstract class NoteBook //{ // public abstract void SayHello(); //} // 使用虚方法 public class NoteBook { public virtual void SayHello() { Console.WriteLine("我是笔记本"); } } public class Dell : NoteBook { public override void SayHello() // 重写父类的方法 { Console.WriteLine("我是Dell笔记本"); } } public class IBM : NoteBook { public override void SayHello() { Console.WriteLine("我是IBM笔记本"); } } public class Lenove : NoteBook { public override void SayHello() { Console.WriteLine("我是联想笔记本"); } } } </span>
相关文章推荐
- C#学习笔记之多态之接口
- C#学习笔记之多态之抽象类
- C#学习笔记之多态之虚方法
- CityMaker学习教程07 示例代码的使用CSharp
- C# 读取Text文本,写入Text文本
- C#学习笔记之对象和Xml文档之间的转换
- LeetCode #14 Longest Common Prefix C# Solution
- C# 实现拖拉控件改变位置与大小
- 6.枚举
- C#-DataTable分页代码
- HyperLinkField和 DataNavigateUrlFields的使用方法
- c#中的扩展方法
- c#上传文件到服务器
- c#下载文件的几种方式
- Quartz.NET c# 教程 - 课程五:SimpleTrigger
- C#中的数组应用
- .net中的命名管道(NamedPipe)
- C#之反射
- C#中基于FileStream的文本文件读写操作
- C# Stuct和Class的区别