Windows程序设计作业1

1.作业内容

使用 C# 编码(涉及类、接口、委托等关键知识点),实现对周黑鸭工厂的产品生产统一管理,主要产品包括鸭脖和鸭翅。武汉工厂能生生产鸭脖和鸭翅,南京工厂只能生产鸭翅,长沙工厂只能生产鸭脖。

具体要求如下:

定义接口 IProductionFactory,包含生产鸭脖和鸭翅的方法。

定义类WuhanFactory、NanjingFactory、ChangshaFactory 分别实现接口 IProductionFactory,用于具体的生产工厂。
使用委托 ProductionDelegate 定义生产委托。
在 Main 函数中,创建不同工厂的实例,并通过生产委托进行生产。

作业要求

  1. 请以博客方式提交作业,博客内容需要对代码行进行讲解,阐述设计的主要思路与难点。请注意,如果想达到博客网站如csdn的优质博文的质量分,需要对博客进行详细描述。
  2. 提交方式为提交博客发布地址,并附上本博文的质量分。

2.主要思路

(1)接口

定义接口:

interface IProductionFactory
{
    void ProduceDuckNeck();
    void ProduceDuckWing();
}

(2)类实现接口

class WuhanFactory : IProductionFactory
{
    public void ProduceDuckNeck()
    {
        Console.WriteLine("武汉生产鸭脖");
    }

    public void ProduceDuckWing()
    {
        Console.WriteLine("武汉生产鸭翅");
    }
}

   (3)声明委托

// 定义生产委托
delegate void ProductionDelegate();

(4)实例化

Main函数中,首先创建了WuhanFactoryNanjingFactoryChangshaFactory的实例,分别赋值给wuhanFactorynanjingFactorychangshaFactory变量

 IProductionFactory wh = new WuhanFactory();
 IProductionFactory nj = new NanjingFactory();
 IProductionFactory cs = new ChangshaFactory();

(5)实例化委托

ProductionDelegate productionDelegate = wh.ProduceDuckNeck;
productionDelegate += wh.ProduceDuckWing;
productionDelegate += nj.ProduceDuckWing;
productionDelegate += cs.ProduceDuckNeck;

3.代码实现

using System;

// 定义生产委托
delegate void ProductionDelegate();

// 定义生产工厂接口
interface IProductionFactory
{
    void ProduceDuckNeck();
    void ProduceDuckWing();
}

// 武汉工厂
class WuhanFactory : IProductionFactory
{
    public void ProduceDuckNeck()
    {
        Console.WriteLine("武汉生产鸭脖");
    }

    public void ProduceDuckWing()
    {
        Console.WriteLine("武汉生产鸭翅");
    }
}

// 南京工厂
class NanjingFactory : IProductionFactory
{
    public void ProduceDuckNeck()
    {
        Console.WriteLine("南京不能生产鸭脖");
    }

    public void ProduceDuckWing()
    {
        Console.WriteLine("南京生产鸭翅");
    }
}

// 长沙工厂
class ChangshaFactory : IProductionFactory
{
    public void ProduceDuckNeck()
    {
        Console.WriteLine("长沙生产鸭脖");
    }

    public void ProduceDuckWing()
    {
        Console.WriteLine("长沙不能生产鸭翅");
    }
}

class Program
{
    static void Main(string[] args)
    {
        IProductionFactory wh = new WuhanFactory();
        IProductionFactory nj = new NanjingFactory();
        IProductionFactory cs = new ChangshaFactory();

        ProductionDelegate productionDelegate = wh.ProduceDuckNeck;
        productionDelegate += wh.ProduceDuckWing;
        productionDelegate += nj.ProduceDuckWing;
        productionDelegate += cs.ProduceDuckNeck;

        productionDelegate.Invoke();
        Console.ReadLine();

    }
}

4.运行结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值