guilherme.Transfere(200.0, mauricio);
Nessa parte do código não seria necessário o modificador 'out' para conseguir manipular o objeto 'mauricio'?
guilherme.Transfere(200.0, mauricio);
Nessa parte do código não seria necessário o modificador 'out' para conseguir manipular o objeto 'mauricio'?
Oi Guilherme, tudo bom?
A variavel guilherme
é uma instancia de Conta
:
Conta guilherme = new Conta();
// aqui estamos dizendo que guilherme é do tipo Conta
Nossa classe econta está parecida com:
class Conta
{
public int numero;
public string titular;
public double saldo;
//atributos agencias e cpf omitidos
public void Saca(double valor)
{
this.saldo -= valor;
}
public void Deposita(double valor)
{
this.saldo += valor;
}
//aqui passamos o valor e a conta de destino
public void Transfere(double valor, Conta destino)
{
this.Saca(valor);
destino.Deposita(valor);
}
}
Veja que o método transfere recebe apenas um valor e uma conta. Como mauricio também é uma instancia de conta, não há nenhum problema na linha:
guilherme.Transfere(200.0, mauricio);
Não havendo necessidade de nenhum outro atributo =)
Qualquer problema é só compartilhar.
Abraço!
Ah sim, o out é para retorno de dados não atribuído, confundi.
Para referência esse link explicando sobre out e ref como modificador https://pt.stackoverflow.com/questions/82630/o-que-s%C3%A3o-os-par%C3%A2metros-out-e-ref
Opa, legal Guilherme =)
Vou fechar esse tópico, caso surja alguma outra duvida é só abrir mais um.
Abraço!