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

Jeito de atribuição.

Boa noite,

Minha duvida seria, quando atribuímos um valor para dentro de uma variável, seria por exemplo : int Valor = 2; Na forma de declaração estamos atribuindo 2 para a variável Valor.

Exemplo da Video Aula contaDaGabriela = contaDaGabrielaCosta;

Ao atribuirmos a referencia da contaDaGabrielaCosta para o objeto contaDaGabriela. O objeto contaDaGabriela, não deveria ficar com a referencia da contaDaGabrielaCosta ??

2 respostas
solução!

Olá, Rafael. Tudo bom?

A variável contaDaGabrielaCosta aponta para um objeto do tipo ContaCorrente, ou seja, podemos atribuir nesta variável referências para objetos deste tipo. A mesma coisa com contaDaGabriela.

Quando executamos contaDaGabriela = new ContaCorrente(); estamos guardando a referência do objeto criado com new ContaCorrente() nesta variável.

No vídeo, nós criamos 2 objetos e 2 variáveis de referência. Semelhante ao código abaixo:

01 | ContaCorrente c1 = new ContaCorrente();
02 | ContaCorrente c2 = new ContaCorrente();
03 | 
04 | c1.Nome = "Pedro";
05 | c2.Nome = "Eduardo";
06 | c2 = c1;
07 | 
08 | Console.WriteLine(c2.Nome); //Escreve Pedro

Perceba que na linha 5 atribuímos "Eduardo" na propriedade Nome do objeto criado na linha 2. Contudo, na linha 6 nós mudamos o objeto para qual a variável c2 aponta, por isto encontramos um nome diferente na linha 8.

A atribuição da linha 6 não altera a referência da variável c1, apenas c2. Um efeito colateral deste código é que nunca mais teremos acesso ao objeto criado na linha 2, porque agora não existe nenhuma referência a ele.

Esclareci sua dúvida? Forte abraço!

Bom dia Guilherme,

Resolvido, Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software