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!