Olá Leandro,
a ideia do base
é você invocar o comportamento da classe mãe. No exemplo da aula:
class Conta
{
private double Saldo { get; protected set; }
public virtual void Atualiza(double taxa)
{
this.Saldo += this.Saldo * taxa;
}
}
class ContaCorrente : Conta
{
public override void Atualiza(double taxa)
{
base.Atualiza(2 * taxa);
}
}
o base.Atualiza(2 * taxa)
da ContaCorrente invoca o comportamento Atualiza da Conta, só que dobrando a taxa antes de passar como parâmetro. Seria a mesma coisa que fazer no Atualiza da ContaCorrente o seguinte código this.Saldo += this.Saldo * (2 * taxa)
Se você fizer o Atualiza com uma taxa fixa na ContaCorrente:
class ContaCorrente : Conta
{
public override void Atualiza(double taxa)
{
base.Atualiza(3.1415);
}
}
Como você está chamando o Atualiza da Conta, seria a mesma coisa que fazer
class ContaCorrente : Conta
{
public override void Atualiza(double taxa)
{
this.Saldo += this.Saldo * 3.1415;
}
}
Só que neste cenário o parâmetro taxa deixaria de fazer sentido na ContaCorrente.