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

A questão do this

O texto manda pesquisar sobre o this. Li algo no stack overflow e no Guj, mas não entendi bem. Logo na aula, de fato eu testei e vi que não fazia diferença. As funções usam a variável da classe em que estão automaticamente. Vi algo de POO em c++, mas não havia esse this Podem me explicar no modo noob para que devo usar de fato tal recurso?

3 respostas
solução!

Olá Lucas,

O "this" serve para você referenciar de forma explicita o atributo da classe. Imagine um cenário conforme o método setId() abaixo, onde temos duas variáveis com o mesmo nome, uma delas é um atributo da classe e outra é um parâmetro recebido pelo método, nesse caso é essencial o "this" para indicar qual variável você está referenciando. Além disso, é uma boa prática colocar o "this" sempre que referenciamos atributos, pois dessa forma fica fácil de saber que a variável em questão é um atributo.


public class Cliente {

    private int id;

    public void setId(int id) {
        this.id = id;
    }

}

Quando estudamos encapsulamento em java conhecemos os métodos acessores que são o geters (pegar os atributos) e os seters (definir os atributos).

nos seters usamos o this para referenciar a variável da classe, pois se você perceber o segundo nomeproduto é um parâmetro (uma variável local podemos assim dizer) e para você saber quem é quem você usa o this para REFERENCIAR.

public void setNomeProduto(String nomeproduto) {
this.nomeproduto = nomeproduto;
}

Acho que é isso, qualquer coisa estamos ai para ajudar :D

Gente, vcs são de mais! Dá pra ver a diferença no forum de quando perguntamos java ou outras tecnologias. A comunidade Java é aquecida. Obrigado. Já entendi no primeiro!

This é obrigatório pra referenciar o atributo, já que pode ter o mesmo nome no parâmetro. Tô curtindo esse curso de Java.