项目 · 动态 · 仪表板 · GitCode
一.题目
用委托实现信用卡用户定时还款功能
二:功能说明
1.通过事件委托实现从储蓄卡到信用卡的还款
2.本题为三张储蓄卡对一张信用卡的还款
三:核心代码:
1.using
代码如下:
using System;
using System.Collections.Generic;
2.储蓄卡类
代码如下:
class DepositCard
{
public int amount;
public void account(int repay,int payday)
{
amount-=repay;
Console.WriteLine("还款",repay);
}
public void display()
{
Console.WriteLine("储蓄卡余额",amount)
}
}
3.信用卡类
代码如下:
class CreditCard
{
private int money;
private int repayday;
public CreditCard(int money,int repayday)
{
this.money=money;
this.repayday=repayday;
}
public void display()
{
Consloe.WriteLine("月消费总额{0}",pay);
}
public int getmoney()
{
return money;
}
public int getrepayday()
{
return repayday;
}
}
4.委托和事件
class Delegate
{
public delegate void DelegateRepay(int money,int repayday);
public event DelegateRepay Pay;
public int money;
public int repayday;
public void Notify()
{
Console.Write("今天是{0}号",DateTime.Today.Day);
if(DateTime.Today.Day==repayday)
{
Pay(money,repayday);
Console.WriteLine("还款成功");
}
else
{
Console.WriteLine("还款日未到,无须还款");
}
}
}
5.主函数
static void Main(string[] args)
{
int i=1;
DepositCard D1=new DepositCard();
DepositCard D2=new DepositCard();
DepositCard D2=new DepositCard();
D1.amount=10000;
D2.amount=20000;
D3.amount=30000;
List
Cards.Add(D1);
Cards.Add(D2);
Cards.Add(D3);
CreditCard C1=new CreditCard(2000,31);
foreach(DepositCard card in Cards)
{
Console.WriteLine("储蓄卡{0}:",i++);
Delegate A=new Delegate();
A.money=C1.getmoney();
A.repayday=C1.getrepayday();
A.Pay+=new DelegateRepay(card.account);
C1.display();
A.Notify();
card.display();
Console.WriteLine("n");
}
Console.ReadLine();
}
四:运行结果
五:总结:
通过这次用委托实现信用卡用户定时还款功能的实验,我通过实践学到了如何使用C#的委托,希望以后还有更多的C#实践机会。



