使用C#委托事件实现信用卡用户定时还款功能
目录
- 问题分析
- 1.各部分代码
- 2.全部代码
- 运行截图
- 总结
- 代码仓库
问题分析
这个问题结合委托与事件实现
①写一个委托类,信用卡类,储蓄卡类
②将还款看做一个事件
③信用卡与储蓄卡相联系
1.各部分代码
代码如下:
class repayment{//定义还款委托public delegate void repayM();//还款事件public event repayM onrepay;public void issue(){if (onrepay != null){Console.WriteLine("事件发生!");onrepay();}}}
//定义储蓄卡class Dcard{private int Hmoney;public Dcard(int money){this.Hmoney = money;}public int getmoney(){return this.Hmoney;}public void setmoney(int r){this.Hmoney = r;}}
//定义信用卡class creditcard{public string name;public int balance;public string dueday;public Dcard d;//初始化public creditcard(string name, int balance, string dueday, Dcard d){this.name = name;this.balance = balance;this.dueday = dueday;this.d = d;}public void repay(){Console.WriteLine("还款日期{0}已到",this.dueday);Console.WriteLine("用户{0}当前欠款{1}", this.name, this.d.getmoney());d.setmoney(this.d.getmoney() + balance);Console.WriteLine("用户已还款");Console.WriteLine("还款金额{0}", Math.Abs(this.balance));Console.WriteLine("欠额为{0}", d.getmoney());}}
2.全部代码
using System;namespace windowstest2._3
{class repayment{//定义还款委托public delegate void repayM();//还款事件public event repayM onrepay;public void issue(){if (onrepay != null){Console.WriteLine("事件发生!");onrepay();}}}//定义储蓄卡class Dcard{private int Hmoney;public Dcard(int money){this.Hmoney = money;}public int getmoney(){return this.Hmoney;}public void setmoney(int r){this.Hmoney = r;}}//定义信用卡class creditcard{public string name;public int balance;public string dueday;public Dcard d;//初始化public creditcard(string name, int balance, string dueday, Dcard d){this.name = name;this.balance = balance;this.dueday = dueday;this.d = d;}public void repay(){Console.WriteLine("还款日期{0}已到",this.dueday);Console.WriteLine("用户{0}当前欠款{1}", this.name, this.d.getmoney());d.setmoney(this.d.getmoney() + balance);Console.WriteLine("用户已还款");Console.WriteLine("还款金额{0}", Math.Abs(this.balance));Console.WriteLine("欠额为{0}", d.getmoney());}}class Program{ static void Main(string[] args){Dcard d1 = new Dcard(5000);creditcard c = new creditcard("张三",-1000,"2021.5.2",d1);repayment rm = new repayment();rm.onrepay += new repayment.repayM(c.repay);rm.issue();}}
}
运行截图

总结
这次实验了解了委托与事件的操作,但是在初期的时候理解起来有点困难,也这到了它们在现实生活中的作用。
代码仓库
代码仓库
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
