初试简单工厂
来源:互联网 发布:细说php第二版完整pdf 编辑:程序博客网 时间:2024/06/12 00:39
首先创建抽象角色
public abstract class yao
{
public abstract void eat();
}
定义了药的总类输出方法,下面的类是根据每个药品修改自己的内容,都继承自yao
class 感冒药 : yao
{
public override void eat()
{
Console.WriteLine("我吃了感冒药");
}
}
class 发烧药 : yao
{
public override void eat()
{
Console.WriteLine("我吃了发烧药");
}
}
class 头疼药 : yao
{
public override void eat()
{
Console.WriteLine("我吃了头疼药");
}
}
class 牙疼药 : yao
{
public override void eat()
{
Console.WriteLine("我吃了牙疼药");
}
}
需要客户端输出的病的种类 public enum bing {感冒,发烧,头疼,牙疼 }; 这是客户端的
接下来定义医生类 也就是简单工厂
简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。
class yisheng
{
public static yao Create(bing bi) ///创建yao的输出 传入枚举病
{
yao yyy = null; ///yao一上来为空 接下来满足付值
switch (bi)
{
case bing.发烧:
yyy = new 发烧药();
break;
case bing.头疼:
yyy = new 头疼药();
break;
case bing.牙疼:
yyy = new 牙疼药();
break;
case bing.感冒:
yyy = new 感冒药();
break;
}
return yyy;
}
}
最后客户端输出病,调用yisheng方法
public static class Program
{
static void Main(string[] args)
{
yao y = yisheng.Create(bing.感冒);
y.eat();
}
}
工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建哪个具体类的对象.
初次使用还有太多不太明白...希望不给大家产生误导
- 初试简单工厂
- xss初试:简单测试
- 初试三层+抽象工厂代码生成器
- swift初试-简单的天气预报
- Retrofit2简单使用初试用
- 简单工厂,工厂,抽象工厂
- 简单工厂、工厂、抽象工厂
- 简单工厂、工厂、抽象工厂
- 工厂模式-简单工厂
- 简单工厂 静态工厂
- 工厂模式-简单工厂
- 工厂 > 简单工厂
- 简单工厂,工厂方法
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 线程局部存储
- 启动MATLAB后问题
- 欢迎使用CSND学生大本营
- 冒泡排序
- 加密,发送邮件
- 初试简单工厂
- 大家共勉吧
- C语言输出格式总结
- C基本数据类型与输入输出
- base64 Encoder加密方法
- SMTP协议实现收发邮件:
- [SQL]计算字符在字符串中出现的次数
- 泛型的使用(List,Map,Set)
- 反射(成员方法和成员变量)