惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
M
MIT News - Artificial intelligence
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
博客园_首页
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
The Cloudflare Blog

博客园 - teacherzj

EF---延迟加载技术 Entity Framework 1 委托 xml 可扩展的标记语言 单例模式 集合,对象初始化器 序列化与反序列化 进程与线程 winform基础 MD5加密 接口 重写ToString()方法 密封类 部分类 序列化和反序列化 值类型和引用类型 C#中的访问修饰符 多态 FileStream、StreamReader和StreamWriter
简单工厂模式
teacherzj · 2014-12-01 · via 博客园 - teacherzj

2、设计模式
设计这个项目的一种方式。


简单工厂模式
Console.WriteLine("请输入您想要的笔记本品牌");
string brand=Console.ReadLine();
NoteBook nb=GetNoteBook(brand);
nb.SayHello();//调哪个子类的方法取绝于父类中放哪个子类的对象。

//简单工厂的核心,根据用户的输入创建对象赋值给父类
public static NoteBook GetNoteBook(string brand)
{
NoteBook nb=null;
switch(brand)
{
case "Lenovo":nb=new Lenovo();break;
case "Acer":nb=new Acer();break;
}
return nb;
}

public abstract class NoteBook
{
public abstract void SayHello();
}
public class Lenovo:NotBook
{
public override void SayHello()
{
Console.WriteLine("我是联想笔记本。");
}
}
public calss Acer:NoteBook
{
public override void SayHello()
{
Console.WriteLine("我是宏基笔记本。");
}
}