1 Star 0 Fork 0

张雅斐/Windows程序设计

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
委托实现信用卡自动还款 2.99 KB
一键复制 编辑 原始数据 按行查看 历史
张雅斐 提交于 2023-03-06 16:49 +08:00 . add 委托实现信用卡自动还款.
namespace ConsoleApplication3delegate
{
class DepositCard //储蓄卡
{
public int amount;
public void Display()
{
Console.WriteLine("储蓄卡余额为:{0}", amount);
}
public void Account(int balance, int payday)
{
amount += balance;
Console.WriteLine("今天是本月的{0},取款{1},储蓄卡余额为:{2}。", DateTime.Today.Day, balance, amount);
}
}
class CreditCard //信用卡
{
private int billamount;
private int repaymentday;
public CreditCard(int billamount, int repaymentday)
{
this.billamount = billamount;
this.repaymentday = repaymentday;
}
public int getbillamount() { return billamount; }
public int getrepaymentday() { return repaymentday; }
public void Display() { Console.WriteLine("信用卡余额为:{0}", billamount); }
}
class CreditCardDelegate
{
public int billamount; //信用卡余额
public int repaymentday;
public delegate void DelegateRepay(int billamount,int repaymentday);
public event DelegateRepay Pay;
public void Notify()
{
Console.Write("今天是{0}日,", DateTime.Today.Day);
if(DateTime.Today.Day==repaymentday)
{
Pay(billamount, repaymentday);
Console.WriteLine("还款成功!");
}
else
{
Console.WriteLine("未到还款日,无需还款!");
}
}
}
class Program
{
static void Main(string[] args)
{
DepositCard depositCard = new DepositCard();
depositCard.amount = 10000;
CreditCard creditCard1 = new CreditCard(-2000, 6);
CreditCard creditCard2 = new CreditCard(-3000, 13);
CreditCard creditCard3 = new CreditCard(-5000, 29);
depositCard.Display(); Console.WriteLine(""); //输出储蓄卡余额
List<CreditCard> Cards = new List<CreditCard>();
Cards.Add(creditCard1); Cards.Add(creditCard2); Cards.Add(creditCard3);
int i = 1;
foreach (CreditCard card in Cards)
{
Console.WriteLine("信用卡开始执行委托还款。。。。。。");
Console.WriteLine("信用卡creditCard{0}", i++);
CreditCardDelegate A = new CreditCardDelegate();
A.billamount = card.getbillamount();
A.repaymentday = card.getrepaymentday();
A.Pay += new CreditCardDelegate.DelegateRepay(depositCard.Account);
A.Notify();
depositCard.Display();
Console.WriteLine("");
depositCard.amount = 10000;
}
Console.ReadLine();
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/zhang-_yf/programming-windows-.git
git@gitee.com:zhang-_yf/programming-windows-.git
zhang-_yf
programming-windows-
Windows程序设计
master

搜索帮助