委托实现信用卡用户定时还款功能
核心代码与功能说明
1、定义委托类(定义提醒与扣款)
class Delegate
{
public delegate void delegateMe(User user);//定义委托
public event delegateMe RemindEvent;// 定义提醒还款
public event delegateMe DeductionEvent;//定义扣款
public void RemindNotify(User user)//提醒用户
{
if (RemindEvent != null)
{
RemindEvent(user);
}
else Console.WriteLine("还款日未到!");
}
public void DeductionNotify(User user)//还款通知
{
if (DeductionEvent != null)
{
DeductionEvent(user);
}
else Console.WriteLine("不需要还款!");
}
}
2、定义用户(其中定义用户的姓名,余额,借款,还款日期)
public class User
{
public String Name;
public double Balance;
public double Debt;
public int Date;//定义用户的姓名,余额,借款,还款日期
public User(String Name, double Balance, double Debt, int Date)
{
this.Name = Name;
this.Balance = Balance;
this.Debt = Debt;
this.Date = Date;
}
}
3、定义银行功能(该段代码主要进行检测用户卡里面情况,对用户进行反馈的功能)
class Bank
{
public void Remind(User user)//提醒用户
{
Console.WriteLine("{0}先生/女士!还款日到!借款为{1}!", user.Name, user.Debt);
}
public void Deduction(User user)//扣款
{
if (user.Debt <= user.Balance)
{
Console.WriteLine("{0}先生/女士!您的储蓄卡余额为{1},扣除借款{2},您剩余余额{3}!",
user.Name, user.Balance, user.Debt, user.Balance - user.Debt);
}
if (user.Debt > user.Balance)
{
Console.WriteLine("{0}先生/女士!您的储蓄卡余额为{1},借款为{2},余额不足,请您尽快还清借款!",
user.Name, user.Balance, user.Debt);
}
}
}
实验结果
运行示例:
实验心得
在本次实验中充分运用委托,它定义了方法的类型,可以让被定义的方法当做参数去让另一个方法去使用,让写程序更加的方便。