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

Dúvida no Ex. 6 da Aula 4 - Herança

Caros, peço a ajuda para identificar porque não complica a linha indica abaixo:

private void Form1_Load(object sender, EventArgs e) {

Cliente cliente = new Cliente(); this.conta = new Conta(); this.conta.Titular = cliente; this.conta.Titular.nome = "Victor"; this.conta.Numero = 123; this.conta.Deposita(250);

this.poupanca.Titular = cliente; / não compila / this.poupanca = new ContaPoupanca(); this.poupanca.Numero = 789;

this.poupanca.Deposita(500);

this.MostraConta(); this.MostraContaPoupanca();

}


class Conta

namespace CaixaEletronico { class Conta {

public double Saldo { get; protected set; } public Cliente Titular { get; set; } public int Numero { get; set; } public int Agencia { get; set; }

public virtual bool Saca(double valor) {

if (valor >= this.Saldo && valor < 0) { return false; // nesse caso não posso fazer o saque então devolverei false

} else {

this.Saldo = this.Saldo - valor; return true;

}

}

public void Deposita (double valor) { this.Saldo = this.Saldo + valor; }

public void Transfere (double valor, Conta destino) { this.Saca(valor); destino.Deposita(valor); }

} }


class ContaPoupanca

namespace CaixaEletronico { class ContaPoupanca : Conta { public override bool Saca(double valor) {

if (valor >= this.Saldo && valor < 0) { return false; // nesse caso não posso fazer o saque então devolverei false

} else { this.Saldo -= valor + 0.1; return true; }

} } }

2 respostas
solução!

Olá Mary,

Você tem, na classe do seu formulário(Form1) um atributo chamado "poupanca" ? Não seria "conta"?

Coloque o código da classe completa, por favor :)

Gabriel, obrigada!!! depois que você falou analisei com calma e descobri o erro eu estava atribuindo um valor para o titular antes de instanciar a classe poupança. foi mal :-(

this.poupanca.Titular = cliente; // orelhada! this.poupanca = new ContaPoupanca();