Já sabe que, durante a execução de um método, o objeto corrente, ou this
, é o objeto sobre o qual o método foi invocado.
Qualquer que seja o "sítio" onde o método foi declarado – a classe da qual o objeto é instância ou uma superclasse dessa – a regra é a mesma: o this
é o objeto sobre o qual o método foi invocado.
No seguinte main
é criado um objeto do tipo JogoComObjetivo
. De seguida são invocados sobre esse objeto uma série de métodos. Uns estão definidos na classe JogoComObjetivo
, outros na sua superclasse Jogo
. Nas execuções desses métodos, o this
será sempre o objeto referenciado pela variável meuJogo
.
xpublic static void main (String [] args) {
JogoComObjetivo meuJogo = new JogoComObjetivo("Spiral",30);
System.out.println("O objetivo eh " + meuJogo.pontuacaoObjetivo());
meuJogo.juntarJogador("Maria");
meuJogo.registarPontosJogada("Maria", 13);
if(meuJogo.terminou()) {
System.out.println("Terminou");
} else {
System.out.println("Maria estah em jogo? " + meuJogo.estahEmJogo("Maria"));
}
}
A figura seguinte ilustra o estado do objeto meuJogo
aquando da invocação do método juntarJogador
:
Anterior: 14.4. Herança e construtores
Seguinte: 14.6. Redefinição de métodos