C#程序设计题:请使用委托实现信用卡用户定时还款功能

用户有一张信用卡,信用卡有一个总额度;每个月会有信用卡账单显示月消费总额,月消费总额是小于信用卡总额度的;用户有若干储蓄卡,可选择某张储蓄卡进行还款;还款是指从储蓄卡中划走信用卡的月消费总额到信用卡;如果储蓄卡余额不足则还款动作不成功。

①使用委托②事件的触发方式是每个月的到期还款日;

class Depositcard{private string name;//储蓄用户名private int depositmoney;//储蓄金额public Depositcard(string name, int money){this.name = name;this.depositmoney = money;}//获取储蓄金额public int getDepositMoney(){return this.depositmoney;}public void setDepositMoney(int h){this.depositmoney = h;}}

class Creditcard{public string name; //信用卡持有者名称public int creditmoney; //信用卡余额public int dueday;//扣款日期public Depositcard obj;//绑定储蓄卡对象//初始化public Creditcard(string name, int cm, int dd, Depositcard obj){this.name = name;this.creditmoney = cm;this.dueday = dd;this.obj = obj;}//还款public void repaymoeny(){Console.WriteLine("{0}先生(女士),您好!您的银行卡当前金额{1}", this.name, this.obj.getDepositMoney());obj.setDepositMoney(this.obj.getDepositMoney() + creditmoney);Console.WriteLine("您已还款");Console.WriteLine("还款金额:{0}", Math.Abs(this.creditmoney));Console.WriteLine("账户余额{0}", obj.getDepositMoney());Console.WriteLine();}//无需还款public void norepaymoeny(){         Console.WriteLine("{0}先生(女士),您好!您的银行卡当前金额{1}", this.name,this.obj.getDepositMoney());Console.WriteLine("未到还款日期,您无需还款", this.name);Console.WriteLine();}}
class repayDelegate{public delegate void repayMoney();//扣款委托  public event repayMoney Repay;//扣款事件 public void NotifyRepay()//事件执行{if (Repay != null){Console.WriteLine("触发事件!");Repay();}}}
测试类:
Creditcard C1 = new Creditcard("A", -2000, 1, D1);
Creditcard C2 = new Creditcard("B", -300, 15, D2);
Creditcard C3 = new Creditcard("C", -4000, 1, D3);Creditcard[] CreditCards = new Creditcard[3];
CreditCards[0] = C1;
CreditCards[1] = C2;
CreditCards[2] = C3;repayDelegate rD = new repayDelegate();
foreach (Creditcard C in CreditCards)
{//判断是否到了该还款的日期(假定还款日期为每月的1号)if (C.dueday == 1){//事件添加rD.Repay += new repayDelegate.repayMoney(C.repaymoeny);}else{rD.Repay += new repayDelegate.repayMoney(C.norepaymoeny);}
}
//事件执行
rD.NotifyRepay();
Console.ReadKey();}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部