假设有一个接口:IBankAccount;一个类SaverAccount,类SaverAccout继承自IBankAccount接口,如下图所示:
public interface IBankAccount
{
public interface IBankAccount
{
void PayIn(decimal amount);
bool Withdraw(decimal amount);
decimal Balance{get;}
}
}
public class SaverAccount : IBankAccount
{
private decimal _balance;
public void PayIn(decimal amount) => _balance += amount;
public bool Withdraw(decimal amount)
{
if(_balance >= amount)
{
_balance -= amount;
return true;
}
WriteLine("Withdrawl attempt failed");
return false;
}
public decimal Balance => _balance;
public override string ToString() => $"Venus Bank Saver:Balance ={_balance,6:C}"$
}
正是因为继承关系,SaverAccount可以直接分配给IBankAccount接口