课设要求:
使用 C# 编码(涉及类、接口、委托等关键知识点),实现对周黑鸭工厂的产品生产统一管理,主要产品包括鸭脖和鸭翅。武汉工厂能生生产鸭脖和鸭翅,南京工厂只能生产鸭翅,长沙工厂只能生产鸭脖。具体要求如下:
- 定义接口 IProductionFactory,包含生产鸭脖和鸭翅的方法。
- 定义类 WuhanFactory、NanjingFactory、ChangshaFactory 分别实现接口 IProductionFactory,用于具体的生产工厂。
- 使用委托 ProductionDelegate 定义生产委托。
- 在 Main 函数中,创建不同工厂的实例,并通过生产委托进行生产
思路:
1)首先定义一个接口,里面包含生产鸭脖和鸭翅的方法
public interface IProductionFactory
{
void DuckNeck(); //生产鸭脖的方法
void DuckWing(); //生产鸭翅的方法
}
2)定义类 WuhanFactory、NanjingFactory、ChangshaFactory 分别实现接口 IProductionFactory,用于具体的生产工厂
public class WuhanFactory : IProductionFactory
{
public void DuckNeck()
{
Console.WriteLine("武汉工厂生产了鸭脖");
}
public void DuckWing()
{
Console.WriteLine("武汉工厂生产了鸭翅");
}
}
public class NanjingFactory : IProductionFactory
{
public void DuckNeck()
{
Console.WriteLine("南京工厂不能生产鸭脖");
}
public void DuckWing()
{
Console.WriteLine("南京工厂生产了鸭翅");
}
}
public class ChangshaFactory : IProductionFactory
{
public void DuckNeck()
{
Console.WriteLine("长沙工厂生产了鸭脖");
}
public void DuckWing()
{
Console.WriteLine("长沙工厂不能生产鸭翅");
}
}
3) 再使用委托 ProductionDelegate 定义生产委托
public delegate void ProductionDelegate();
4) 最后在 Main 函数中,创建不同工厂的实例,并通过生产委托进行生产
class Program
{
static void Main(string[] args)
{
IProductionFactory whFactory = new WuhanFactory();
IProductionFactory njFactory = new NanjingFactory();
IProductionFactory csFactory = new ChangshaFactory();
// 创建生产委托并调用
ProductionDelegate whDuckNeck = whFactory.DuckNeck;
whDuckNeck.Invoke(); //武汉工厂生产鸭脖
ProductionDelegate whDuckWing = whFactory.DuckWing;
whDuckWing.Invoke(); //武汉工厂生产鸭翅
ProductionDelegate njDuckWing = njFactory.DuckWing;
njDuckWing.Invoke(); //南京工厂生产鸭翅
ProductionDelegate njDuckNeck = njFactory.DuckNeck;
njDuckNeck.Invoke(); //南京工厂生产鸭脖
ProductionDelegate csDuckNeck = csFactory.DuckNeck;
csDuckNeck.Invoke(); //长沙工厂生产鸭脖
ProductionDelegate csDuckWing = csFactory.DuckWing;
csDuckWing.Invoke(); //长沙工厂生产鸭翅
Console.ReadLine();
}
}
最后结果

本文介绍了如何使用C#语言,通过定义接口IProductionFactory和类WuhanFactory、NanjingFactory、ChangshaFactory来实现对周黑鸭工厂的产品生产管理,利用委托ProductionDelegate控制不同工厂的生产行为。
982





