O que são Parâmetros? E pra que serve a autorreferência "This"?
5 respostas
programação
G
Guiguis
Boa Tarde Programadores
Estou começando a estudar lógica de programação e POO (Programação Orientada a Objetos), mas ainda não entendi a Definição e Como utilizar “Parâmetros” (Ou fazer a passagem deles).
E também não entendi para que serve a autorreferência This, alguém tem algum exemplo fácil para explicar?
Perceba que, se o this não fosse utilizado, o compilador não saberia com qual nome e qual idade eu estou trabalhando. Na realidade, ele assumiria que eu estou trabalhando apenas com a variável local (que é passada como argumento para o construtor), o que seria redundante, afinal, ela estaria recebendo a si mesma.
Usabilidade:
//passandonomeeidadecomoargumento//paraosparâmetrosdefinidosnoconstrutorPessoap=newPessoa("João da Silva",23);
Parâmetros são utilizados pelos métodos para serem processados conforme a regra de negócio. Por exemplo, posso ter um método chamado soma que tenha dois parâmetros: valorA e valorB. Logo, para obter o resultado desse método, preciso passar dois valores para ele somar. Exemplo:
O método não precisa obrigatoriamente ter parâmetros; é sua regra de negócio e a lógica utilizada quem determinarão isso.
Já a questão do this, é apenas uma palavra reservada para que o Java entenda com o que você está lidando, se é com o parâmetro do método ou se é com algum atributo da classe, visto que posso ter uma classe com o atributo valorA e ao mesmo tempo ter um método que tenha um parâmetro chamado valorA.
Ao usar this.valorA, estou me referindo ao atributo da classe.
Ao usar simplesmente valorA, estou me referindo ao parâmetro do método.
G
Guiguis
Obrigado, ajudou bastante.
G
Guiguis
Vlw hehe, sério clareou muito minha mente agr.
A
alexandregsjr1 like
O this, além dos objetivos esclarecidos pelos colegas acima, serve principalmente para se referencias a própria instância do objeto em questão. Ou seja, o this diz pro java, por exemplo, que ele deve trabalhar não com qualquer instância do objeto em questão, mas sim com aquela instância.
Isto é importante quando se trabalha com métodos estáticos, pois um método estático não pode pegar nada instância, pois não é do contexto.