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

194 阅读1分钟

一.提前分析 可知还款时有俩种情况,即银行卡余额能还清贷款,银行卡余额不足还清,即此处就是运用委托的地方。 二.实验代码 using System; namespace Con { class Credit { public double _loan; public Credit(double loan) { _loan = loan; }

}
// 第二个类
class Bankcard
{
    public double _balance;
    public Bankcard(double balance)
    {
        _balance = balance;
    }

}
delegate double Call(ref double n1, ref double n2);
public class Re
{
   
    public static double Returnloan2(ref double loan, ref double balance)
    {
        balance = balance - loan;
        return balance;
    }
    public static double Returnloan3(ref double loan, ref double balance)
    {
        loan = loan - balance;
        balance = 0;
        return loan;
    }
}



class Program
{
    static void Main(string[] args)
    {
        Credit objc1 = new Credit(20000);
        Bankcard objb1 = new Bankcard(10000);
        Credit objc2 = new Credit(10000);
        Bankcard objb2 = new Bankcard(20000);
        Console.WriteLine("已到还款时间,请还款");
        if (objc1._loan > objb1._balance)
        {
            Call u = Re.Returnloan3;
            double result = u(ref objc1._loan, ref objb1._balance);
            Console.WriteLine("obj1银行卡余额不足,还欠款: " +result);
        }
        if (objc1._loan <= objb1._balance)
        {
            Call u = Re.Returnloan2;
            double result = u(ref objc1._loan, ref objb1._balance);
            Console.WriteLine("obj1还款成功,银行卡余额为:" + result);
        }
        if (objc2._loan > objb2._balance)
        {
            Call u = Re.Returnloan3;
            double result = u(ref objc2._loan, ref objb2._balance);
            Console.WriteLine("obj2银行卡余额不足,还欠款: " +result);
        }
        if (objc2._loan <= objb2._balance)
        {
            Call u = Re.Returnloan2;
            double result = u(ref objc2._loan, ref objb2._balance);
            Console.WriteLine("obj2还款成功,银行卡余额为:" + result);
        }

    }

}

} 三.运行截图

image.png 四.存在问题 对于定时功能还无法成功编辑。 五.gitee仓库地址。 gitee.com/xie-junlong…