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

This

Olá, estou com grandes dúvidas acerca do "This", de como funcionaria. Tenho um exemplo de um código que peguei aqui: public CategoriaDAo( EntityManager em) { this.em=em; } public void cadastrar (Categoria categoria) { this.em.persist(categoria);}

No método cadastrar, ele puxa um this.em, eu deveria pensar nisso como uma equação, em que o this.em é substituído pelo valor do objeto passado no construtor? Qualquer material que tiver sobre o this e puder compartilhar comigo, agradeço muito!

2 respostas
solução!

Boa noite! Vou tentar responder sua pergunta com base no que entendi.

Sim, durante a instanciação da classe e passado os devidos parâmetros ao construtor, o atributo em é substituído dentro daquele objeto.

Para um melhor exemplo:

public class CategoriaDAo {
    EntityManager em; //por padrão, o java carrega os atributos de uma classe (caso não inicializados) como nulos.

    public CategoriaDAo(EntityManager em) { 
        this.em = em; //após a construção do objeto, 
                        // o atributo 'em' recebe a referencia de um objeto do tipo EntityManager. 
                        // Portanto, seu valor original foi substituído.
       } 

    public void cadastrar (Categoria categoria) {
         this.em.persist(categoria);
    }

}

Só para tentar deixar mais claro, a palavra chave this é uma referência ao objeto atual em que você esteja chamando um método ou criando seu construtor.

https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html

Aqui tem uma explicação maais aprofundada desse carinha tão importante em OO.

Legal, muito obrigado!