Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

polimorfismo

Neste caso eu estou instanciando um objeto Conta ou ContaPoupanca?

class Conta
{
    public double Saldo { get; protected set; }
}
class ContaPoupanca : Conta
{
    public void CalculaRendimento ()
    {
        this.Saldo += 100.0;
    }
}


Conta c = new ContaPoupanca();
3 respostas
solução!

Janile, tudo bem ?

Você sempre está instanciando o que está do lado direito, a esquerda é onde você está armazenando a referência.

Na memória, há um objeto do tipo ContaCorrente mas você está utilizando apenas tudo que uma Conta possui.

Tanto que se você tentar usar o método que você tem na ContaCorrente, não irá conseguir, pois sua Conta não o possui.

E qual seria o objetivo entao? E existe alguma maneira de que essa conta c faca uso do método CalculaRendimento?

Sim, tem sim.

Podemos usar casting para fazer esse tipo de coisa, contudo pode ser que sua referência não seja do tipo que está fazendo cast.