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

功能说明:

当到达指定日期时,会触发还款。

如果顾客储蓄卡余额大于等于月消费总额,则会从顾客的储蓄卡余额中进行扣除,并提示“XX已进行本月信用卡还款XX,卡内余额XX”。

如果顾客储蓄卡余额小于月消费总额,则还款失败,并提示“用户余额不足,还款失败”。

代码如下

//每个月会有信用卡账单显示月消费总额,月消费总额是小于信用卡总额度的;
//用户有若干储蓄卡,可选择某张储蓄卡进行还款;还款是指从储蓄卡中划走信用卡的月消费总额到信用卡;
//如果储蓄卡余额不足则还款动作不成功。
//要求如下:①必须使用委托②事件的触发方式是每个月的到期还款日;
class Customer
{
	private string name;
	private int xiaofei;
	private int chuxuka;
	private int data;
	public Customer(string name, int xiaofei, int chuxuka, int data)
	{
		this.name = name;
		this.xiaofei = xiaofei;
		this.chuxuka = chuxuka;
		this.data = data;
	}

	//利用属性实现get,set
	public string Name
	{
		get { return name; }
		set { name = value; }
	}
	public int Xiaofei
	{
		get { return xiaofei; }
		set { xiaofei = value; }
	}
	public int Chuxuka
	{
		get { return chuxuka; }
		set { chuxuka = value; }
	}
	public int Data
	{
		get { return data; }
		set { data = value; }
	}
}
class  BANK
{ 
	public void DispMethod(Customer customer)
	{ 
	    
		Console.WriteLine("用户已接到信用卡还款的通知!");
		if (customer.Chuxuka > customer.Xiaofei)
		{
			customer.Chuxuka = customer.Chuxuka - customer.Xiaofei;
			Console.WriteLine("{0}已进行本月信用卡还款{1},卡内余额{2}", customer.Name, customer.Xiaofei, customer.Chuxuka);
		}
		else
			Console.WriteLine("用户余额不足,还款失败");
	
	}
}

class Delegate
{
	// 定义委托
	public delegate void MeDelegate(Customer customer);
	// 定义事件
	public event MeDelegate NotifyPay_event;

	public event MeDelegate huankaun_event;

	public void Notifypay(Customer customer)
	{
		// 如果事件不为 null
		if (NotifyPay_event != null)
		{
			Console.WriteLine("到达还款日期:");
			// 触发事件
			NotifyPay_event(customer);
		}
	}

	public void huankaun(Customer customer)
	{
		// 如果事件不为 null
		if (huankaun_event != null)
		{
			Console.WriteLine("触发事件:");
			// 触发事件
			huankaun_event(customer);
		}
	}
}
class TestEvents
{
	[STAThread]
	static void Main(string[] args)
	{

		// 委托的对象
		Delegate objDelegate = new Delegate();
		// ClassA 的对象
		Customer objClassA = new Customer("张三",150,200,4);
		// 订阅该事件
		BANK bank1 = new BANK();
		objDelegate.NotifyPay_event += new Delegate.MeDelegate (bank1.DispMethod);
		objDelegate.Notifypay(objClassA);
	}
}

结果如图 

 gitee地址 

https://gitee.com/liuxinyi-monday/windows-program

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值