Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 1 da Aula 3 - Mão na Massa - Windows Forms

Galera, eu tenho uma dúvida. De acordo com a minha classe Conta e a classe Cliente, eu não consigo declarar o nome do titular direto pela instancia de conta (conta.Titular = "nomeCliente"), pois a propriedade Titular é do tipo Cliente, e no caso o Cliente ainda não foi instanciado, então para eu declarar eu faço: Conta conta = new Conta(); conta.Titular = new Cliente("Victor");

E a partir dai eu já consigo seguir em frente novamente. Mas como eu faço para alterar para que eu consiga fazer diretamente como no exemplo? Conta conta = new Conta(); Conta.Titular = "Victor";

Abaixo estão minhas classes Conta e Cliente para analisarem:


class Cliente { public string Nome { get; set; }

public string Cpf { get; set; }

public string Rg { get; set; }

public string Endereco { get; set; }

public int Idade { get; set; }

public Cliente(string nome) { this.Nome = nome; }

public Cliente() { } public bool EhMaiorDeIdade() { return this.Idade >= 18; }

}

class Conta { public int Numero { get; set; }

public double Saldo { get; private set; }

public Cliente Titular { get; set; }

public bool Saca(double valor) { if (!validaSaque(valor)) { return false; } else { if (this.Titular.EhMaiorDeIdade()) { this.Saldo -= valor; return true; } else { if (valor <= 200.0) { this.Saldo -= valor; return true; } else { return false; } } } }

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

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

public bool validaSaque(double valor) { if (valor >= this.Saldo || valor < 0) { return false; } else { return true; } } }

1 resposta
solução!

Bom dia Paulo.

Se você quiser fazer dessa forma: Conta.Titular = "Victor";

Você tem que trocar o tipo do seu atributo Titular de Cliente para string.

Abraço.