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; } } }