当前位置: 首页> 娱乐> 八卦 > 河北二级建造师考试最新消息_张雪峰谈广告学专业_谷歌aso优化_白度

河北二级建造师考试最新消息_张雪峰谈广告学专业_谷歌aso优化_白度

时间:2025/7/11 2:41:25来源:https://blog.csdn.net/weixin_43626218/article/details/143690059 浏览次数:0次
河北二级建造师考试最新消息_张雪峰谈广告学专业_谷歌aso优化_白度

前言

抽象工厂模式(Abstract Factory Pattern)

运行结果

在这里插入图片描述

代码

//水果罐头接口
public interface IFruitCan
{void CreateCan();
}
//苹果罐头类
public class AppleCan : IFruitCan
{string Name { get; set; } = "苹果罐头";public void CreateCan(){Console.WriteLine($"生产了{Name}");}
}
//荔枝罐头类
public class LitchiCan : IFruitCan
{string Name { get; set; } = "黄桃罐头";public void CreateCan(){Console.WriteLine($"生产了{Name}");}
}
//蔬菜罐头接口
public interface IVegetableCan
{void CreateCan();
}
//菠菜罐头
public class SpinachCan : IVegetableCan
{string Name { get; set; } = "菠菜罐头";public void CreateCan(){Console.WriteLine($"生产了{Name}");}
}
//大豆罐头
public class SoybeanCan : IVegetableCan
{string Name { get; set; } = "黄豆罐头";public void CreateCan(){Console.WriteLine($"生产了{Name}");}
}
//抽象工厂
public interface ICanFactory
{IFruitCan CreateFruitCan();IVegetableCan CreateVegetableCan();
}
// 具体工厂1
public class GuangZhouCanFactory : ICanFactory
{public string Name { get; set; } = "广州罐头厂";public GuangZhouCanFactory(string name){Name = name;Console.WriteLine($"{Name}正在生产......");}public IFruitCan CreateFruitCan(){return new AppleCan();}public IVegetableCan CreateVegetableCan(){return new SpinachCan();}
}
// 具体工厂2
public class ShangHaiCanFactory : ICanFactory
{public string Name { get; set; } = "上海罐头厂";public ShangHaiCanFactory(string name){Name = name;Console.WriteLine($"{Name}正在生产......");}public IFruitCan CreateFruitCan(){return  new LitchiCan();}public IVegetableCan CreateVegetableCan(){return new SoybeanCan();}
}/** 抽象工厂模式:Abstract Factory Pattern*/
internal class Program
{static void Main(string[] args){//创建工厂实例ICanFactory factoryA = new GuangZhouCanFactory("广州罐头厂");//罐头实例IFruitCan fruitCanA = factoryA.CreateFruitCan();IVegetableCan vegetableCanA = factoryA.CreateVegetableCan();//方法fruitCanA.CreateCan();vegetableCanA.CreateCan();ICanFactory factoryB = new ShangHaiCanFactory("上海罐头厂");IFruitCan fruitCanB = factoryB.CreateFruitCan();IVegetableCan vegetableCanB = factoryB.CreateVegetableCan();fruitCanB.CreateCan();vegetableCanB.CreateCan();Console.ReadLine();}
}
关键字:河北二级建造师考试最新消息_张雪峰谈广告学专业_谷歌aso优化_白度

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: