使用委托实现信用卡用户定时还款功能

本文详细介绍了如何使用C#中的委托和事件机制创建一个自动扣款系统,通过DELE类定义事件和委托,Bank类负责扣款操作,User类包含用户信息。核心代码展示了如何订阅和触发事件,实现定期检查并扣款还款。
摘要由CSDN通过智能技术生成

1.问题分析

要求使用c#委托与事件实现定时自动从用户的信用卡中扣款还款的功能

2.核心代码及其功能说明

定义一个DELE类,在其中定义委托与事件,并让事件与委托绑定

class DELE
    {
        public delegate void card(User uesr);
        public event card DeMoney;//定期扣款事件绑定委托

        //判断事件是否启用
        public void DeMoneyTest(User user)
        {
            if (DeMoney != null)
            {
                DeMoney(user);
            }
            else
            {
                Console.WriteLine("还款日未到");
            }
        }
    }

定义一个Bank类,在其中定义一个扣款函数。

 class Bank
    {
        public void DeMoneying(User user)
        {
            Console.WriteLine("{0},您的信用卡余额为{1}元,本次还款{2}元,信用卡目前余额为{3}元!",
                 user.Name, user.Balance, user.Debt, (user.Balance - user.Debt));
            Console.WriteLine();
        }
    }

定义一个User类,在其中定义用户的卡内余额、欠款额、用户名和还款日。

 class User
    {
        private int balance;
        private int debt;
        private string name;
        private int day;
        public User(int balance, int debt, string name, int date)
        {
            this.balance = balance;
            this.debt = debt;
            this.name = name;
            this.day = date;
        }

        public int Balance { get => balance; set => balance = value; }
        public string Name { get => name; set => name = value; }
        public int Debt { get => debt; set => debt = value; }
        public int Date { get => day; set => day = value; }
    }

主程序

static void Main(string[] agrs)
        {
            DELE d1 = new DELE();
            DELE d2 = new DELE();
            User user = new User(521, 520, "殷乐", 8000);
            Bank bank = new Bank();
      
            d2.DeMoney += bank.DeMoneying;//银行扣款函数订阅扣款事件

            
            for (int i = 0; i <= 10000; i++)
            {
                if (i == user.Date)
                    d2.DeMoneyTest(user);
            }
        }

3.结果截图

4.代码仓库地址

https://gitee.com/ylhmt/programming-windows-/tree/master/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值