Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como usar "this"?

Aula 04 - Você conhece o this?

Já revi a aula algumas vezes e ainda não consegui compreender a utilização do "this"? Alguém pode explicar de outras formas? Citar trecho de código utilizando o "this".

Acredito que será necessário praticar várias vezes para entender.

1 resposta
solução!

Vamos voltar ao básico: Programação procedural. Quando estamos em procedural, uma função é um pequeno pedaço do código que eu vou dar um nome específico e então dar um propósito para ele.

Em OO, como Java, usamos classes. Nas classes nós colocamos as características das variáveis, ou seja, se são privadas, estáticas, booleanas, inteiras, double... E eu preciso me comunicar com elas para manipulá-las ou acessar seus dados! O método é a forma como eu posso fazer isso.

Assim como em procedural, eu posso nomear os métodos. Mas diferente de função, um método está relacionado a uma classe e suas variáveis. Quando você inicializa a classe com o new classe();, todas as variáveis passam a existir e tem um valor de 0/null.

E então você pode operar as variáveis pq elas foram "instanciadas".

Quando eu quero lembrar o programa que aquela variável está dentro da classe que armazena o método, eu lembro ele com o "this." . Dessa forma não preciso inicializar, declarar a variável antes de usar, porque ela já existe, tem seus valores e então ela pode ser referenciada.

        if(this.saldo >= montante) { 
//essa parte do código verifica se o saldo na classe q foi previamente inicializada é igual ou maior que o montante a ser sacado. Se for...
            this.saldo -= montante; 
//subtraia do saldo o valor do montante

Eu não preciso inicializar saldo como double. Saldo já existe no objeto que estou comparando no if. Para facilitar, lembro ele (java) que é this.saldo e que ele deve comparar com um valor passado para gerar true ou false (ifs são booleanos)

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