class ContaCorrente
{
public string nomeCliente{ get; set; }
public int numeroAgencia { get; set; }
public int numeroConta { get; set; }
public double saldo { get; set; } = 100;
public bool Sacar(double valor)
{
bool podeSacar = !(this.saldo < valor); //verifica se saldo é menor ou maior que valor desejado para saque
this.saldo = podeSacar ? this.saldo - valor : this.saldo = this.saldo; //Operador ternario se cliente poder sacar altera o saldo se não mantem o mesmo
return podeSacar; // retorna a possibilidade de sacar
}
public void Depositar(double valor)
{
this.saldo += valor; // Acumular um valor na conta
}
public bool Transferir(double valor, ContaCorrente contaDestino)
{
if (!this.Sacar(valor)) return false; // se a função sacar for falsa paramos a execução. sendo verdadeira desconta o saldo do transferidor
contaDestino.Depositar(valor); //Acumula mais saldo a conta destino
return true;
}
}