C# 继承与多态:实现银行储蓄管理系统中的普通账户和 VIP 账户
本文将使用 C# 语言的继承和多态性,实现银行储蓄管理系统中的普通账户和 VIP 账户。
在银行储蓄管理系统中,普通账户 (Account) 和 VIP 账户 (VipAccount) 都包含账户 (CreditNo)、余额 (Balance) 等基本数据信息,都提供创建账户、存款 (Withdraw)、取款 (Deposit) 和查询余额功能。但二者的区别是:
- 普通账户的账号介于 100000~500000 之间,取款时不允许透支(余额不能 < 0)。
- VIP 账户的账号在 500000~1000000 之间,取款时允许透支 1000 元(即取款之后余额必须大于 -1000)。
以下是使用继承性和多态性实现 Account 类和 VipAccount 类定义的示例代码:
public class Account
{
public int CreditNo { get; set; }
public double Balance { get; set; }
public Account(int creditNo, double balance)
{
CreditNo = creditNo;
Balance = balance;
}
public virtual void Deposit(double amount)
{
Balance += amount;
}
public virtual bool Withdraw(double amount)
{
if (Balance >= amount)
{
Balance -= amount;
return true;
}
else
{
return false;
}
}
public double GetBalance()
{
return Balance;
}
}
public class VipAccount : Account
{
public VipAccount(int creditNo, double balance) : base(creditNo, balance)
{
}
public override bool Withdraw(double amount)
{
if (Balance >= amount - 1000)
{
Balance -= amount;
return true;
}
else
{
return false;
}
}
}
在以上代码中,Account 类和 VipAccount 类都继承自同一个基类 Account,而 VipAccount 类对 Withdraw 方法进行了重写,以实现允许透支 1000 元的功能。在使用时,可以通过实例化 Account 类或 VipAccount 类来创建普通账户或 VIP 账户,然后调用它们的方法进行存款、取款和查询余额等操作。
通过这种方式,我们可以利用继承和多态性来实现代码的复用和扩展,使代码更加灵活和易于维护。
原文地址: https://www.cveoy.top/t/topic/npTb 著作权归作者所有。请勿转载和采集!