2
respostas

Analogia para referência a objetos

Fiz uma analogia entre instânciar objetos com instalar programas no hd do computador.

Ao instalar um programa (que seria a Classe Programa.exe), você está dando um comando para aquele instalador criar um objeto no HD do seu computador (memória). Ao concluir a instalação, o programa cria um atalho.exe e joga na área de trabalho. Pois bem, este atalho é a variável que faz uma referência ao ProgramaInstalado.exe que está no seu hd!

Ficaria assim:

Classe Programa;

Programa atalho = new Programa.exe(); Você acabou de instalar um programa no seu pc e jogar um atalho na área de trabalho. Você pode criar outros atalhos e jogar um no menu iniciar e outro na área de trabalho, mas continuará sendo apenas uma referência para o arquivo que está instalado no seu hd.

** Este pensamento está correto?**

2 respostas

Oi Jorge, tudo bem com você?

Muito legal a analogia que você pensou e é bem por ai mesmo. Quando criamos um objeto com o comando Objeto objeto = new Objeto() e colocamos ele na memória da máquina virtual Java, ele fica armazenado, assim como um programa instalado em seu disco, que pode ser identificado como objeto. Então toda vez que quisermos acessar esse objeto podemos chamá-lo por esse nome. Quando quisermos criar um atalho, ou referência para esse objeto, é como se criássemos um apontador, ou ponteiro para ele, de maneira que Objeto atalho = objeto e que vai ser uma referência para o objeto original, com os mesmos acessos dele.

É muito legal buscar analogias que nos ajudem a entender como funcionam as coisas em Java, que normalmente tem altos níveis de abstração e que pode deixar de ser palpável em algum momento.

E de fato existe um conceito muito legal que compreende exatamente isso que você colocou aqui pra gente, nos sistemas operacionais existe o link simbólico, que funciona exatamente como uma referência!

Para conhecer um pouco mais, sugiro os cursos de Linux aqui da Alura, onde você vai aprender muito mais sobre como funciona um sistema operacional e conhecer mais a fundo o conceito de link simbólico.

Um grande abraço e bons estudos!

Boa Jorge, gostei muito da sua ideia. Sucesso!