[Resolvido] O que esse this faz no método

4 respostas
javahunter

Galera to começando no mundo de OO e preciso tirar umas dúvidas:

public class Conta {
           
            String cliente;
            double saldo;
           
            void exibeSaldo() {
                        System.out.println(cliente + " seu saldo eh "+ saldo);
            }
           
            void saca(double valor) {
                        saldo -= valor;
            }
           
            void deposita(double valor) {
                        saldo += valor;
            }
           
            void transferePara(Conta destino, double valor) {
                        this.saca(valor);
                        destino.deposita(valor);
            }
}
public class ContaTeste {
           
            public static void main(String[] args) {
                       
                        Conta conta = new Conta();
                        conta.cliente = "Seu Madruga";
                        conta.saldo = 10_000.00;
                        conta.exibeSaldo();
                       
                        Conta destino = new Conta();
                        destino.cliente = "Chaves";
                        destino.saldo = 8_000.00;
                        destino.exibeSaldo();
                       
                        conta.transferePara(destino, 1_550.00);
                        conta.exibeSaldo();
                        destino.exibeSaldo();
            }
}

então a saída é:
Seu Madruga seu saldo eh 10000.0
Chaves seu saldo eh 8000.0
Seu Madruga seu saldo eh 8450.0
Chaves seu saldo eh 9550.0

minhas dúvidas são essas:
1º)Na classe "Conta" na linha 19 o this faz exatamente o que? ...olhei uns exemplos aqui no fórum mas não tinham parâmetros

2º)Na classe "Conta" na lina 20 porque não tem o this? ...no lugar de destino não era pra ter o this ...quando compilo com o this o resultado dos dois clientes fica com o mesmo valor inicial

Abraço

4 Respostas

ppro11

o this faz referência a própria Classe e seus atributos!

paulohms

This é usado para fazer auto-referência ao próprio contexto em que se encontra. Resumidamente, this sempre será a própria classe ou o objeto já instanciado.

Na linha 20 não é usado o this, pois o método recebe como parametro o objeto do tipo conta.

DiogoJhony

A referência this é utilizada quando se deseja referenciar ao próprio objeto.

Tipo no seu caso na linha 19 o this foi utilizado para referenciar ao objeto conta, ou seja você esta sacando de sua conta R$1.550,00.
Ja na linha 20 não se pode ter o this no lugar de destino, pois se ver na linha 15 da sua classe ContaTeste você esta pasando o objeto destino como referencia e nesse caso
a ideia ai é você transferir os R$1.550,00 da conta para o destino

javahunter

Vlw pessoal

dúvida esclarecida

Criado 18 de janeiro de 2013
Ultima resposta 19 de jan. de 2013
Respostas 4
Participantes 4