A utilidade do this? Se this.from=from, o primeiro from é a variavel, e segundo from o parametro, certo? Mas que utilidade tem essa declaração,o this? …
Digam algo.
Se for só this.from; Este this diz que o from refere-se a variavel de instancia e não a variavel local, evitando assim confusoes, né?
Espero dicas.
Dizer que uma variavel de instancia toma o valor de uma parametro, que utilidade tem?
Por exemplo, você tem uma classe Numero, que armazena apenas um valor (int num), os usuários dessa classe podem manipular esse valor (modificar, capturar, etc). Então para modificar esse valor, você fornece um método, passando para esse método um parâmetro, que será o novo valor dessa variável, por exemplo:
publicclassNumero{privateintnum;publicNumero(intnum){this.num=num;}publicvoidsetNum(intnum){this.num=num;}publicintgetNum(){returnnum;// não é necessário o this}publicstaticvoidmain(String[]args){Numeron=newNumero(10);// cria um nome Numero com valor 10System.out.println(n.getNum);// imprime o valor de n (10)n.setNum(20);// seta o valor de num para 20System.out.println(n.getNum);// imprime o valor de n (20)}}
Espero que tenha ajudado..
ramilani12
A real utilidade do this é referenciar o próprio da objeto da classe :
Porque imprime Teste@10b62c9?
O System.outprintln(this) imprime o q afinal? não existem variaveis, nem valores, n entendi.
P
paulovr
publicclassNumero{privateintnum;publicNumero(intnum){this.num=num;}publicvoidsetNum(intnum){this.num=num;}publicintgetNum(){returnnum;// não é necessário o this}publicstaticvoidmain(String[]args){Numeron=newNumero(10);// cria um nome Numero com valor 10System.out.println(n.getNum);// imprime o valor de n (10)n.setNum(20);// seta o valor de num para 20System.out.println(n.getNum);// imprime o valor de n (20)}}
Atenção, assim nao funciona, pois tem de ser n.getNum()!
Não existe codigo repetido? O metodo Numero e o setNum sao iguazinhos! Não sera ma programação? REdundancia!
Sim entendi a utilidade.
thanks
peczenyj
paulovr
Numero não é um método, pois vc não declarou um tipo de retorno, percebeu?
Quando vc tem algo parecido com um método com um modificador de acesso (public, private, etc…) e ele tem o mesmo nome da classe, isso se chama Construtor.
O construtor inicia algum codigo na sua classe, se necessário. Nesse caso vc tem um construtor que informa o atributo num com algum valor.
P
paulovr
Sim entendi!
Mas Numero é metodo sim! Aprendi assim! É metodo constructor! Mas não deixa de ser metodo!
A grande utilidade do constructores é qual? Construir objectos?
P
paulovr
dois metodos com linhas de codigo iguais não é redundancia?
Estamos a falar de metodos com assinaturas diferentes mas com linhas de codigo iguais, o tal chamado overloading né?
P
paulovr
Um metodo constructor nunca tem retorno, isto é, um metodo constructor nunca pode ser assim:
public class serC
...
public int serC ()
<-
peczenyj
Não, não é redundancia de código.
Uma coisa é o construtor, executado quando vc cria uma instância do objeto, o outro é um metodo que altera o atributo interno ‘num’ a qualquer momento.
Um objeto pessoa so pode existir se voce fornecer nome e rg… ou seja são as regras que você determinou…São as regras de existência do seu objeto…
Espero ter ajudado…
diego2005
Paulo,
o Construtor não é um método, pois para ser método tem que ter um tipo de retorno, depois você procure isso em livros…
Quando você faz:
System.out.println(qualquerObjeto);
Imprimirá informações sobre aquele objeto. De onde vem essas informações?? Vem do método toString(), que TODA classe herda da classe Object, entendeu??
P
paulovr
yep, entendi.
thanks.
um constructor cria uma instância do objeto? Instancia é um “exemplo” né?
Instancia de um objecto é exemplo de um objecto certo?
P
paulovr
sim, entendi.
ok.
um constructor cria uma instancia do objecto? Instancia significa “exemplo” né? instancia do objecto é um exemplo do objecto certo?