[quote=“BrunoBastos”]da uma olhada em objetos anônimos… nesso código que você escreveu acima é provável que seja por exemplo somas 4 + 5:
[code]
myCalculadora.setSoma( new Integer(4).intValue(), new Integer(5).intValue() );
[/code][/quote]
nao entendi…heheehe…esse código acima eu escrevi aqui só pra ilustrar mesmo…por exemplo, quando vc usa swing e vai implementar um cor no fundo, o método recebe um parametro do tipo Color c, aí faz assim:
setBackground(new Color(255,0,255); e eu nao entendi…tipo foi criando uma variavel do tipo color?..é por isso uso o new?
hehe
desculpa…é que é muita coisa…fiquei meio perdido…rs
O metodo setBackground() espera um parametro do tipo Color, então o que você está fazendo é criar um novo objeto Color e passar direto para o setBackground() sem guardar em uma variavel antes, isso é feito porque em alguns casos teriamos que criar uma variavel só pra passar o parametro para o metodo, sendo que ela não seria usada mais em lugar nenhum.
O metodo setBackground() espera um parametro do tipo Color, então o que você está fazendo é criar um novo objeto Color e passar direto para o setBackground() sem guardar em uma variavel antes, isso é feito porque em alguns casos teriamos que criar uma variavel só pra passar o parametro para o metodo, sendo que ela não seria usada mais em lugar nenhum.
Esse codigo aí é equivalente a:
[code]Color cor = new Color(255,0,255);
setBackground(cor);[/code][/quote]
Entendi… :lol:
Então eu posso criar meus próprios valores para passar por parâmeto?
por exemplo:
myCalculadora.Acao(Operador operador) << recebe um parametro do tipo operador myCalculadora.Acao(new Operador(+))
ou viajei demais? acho que a lógica disso nao tá lá essas coisas…mas é só pra ver se é isso…
você tem um objeto anônimo. Você não vai ter a referência dele na linha debaixo. a difereça entre criar um
Operador op = new Operador(+);
myCalculadora.Acao( op ) ;
op.algumacoisa();
myCalculadora.Acao( op ) ;
você pode continuar trabalhando com o objeto Operador depois de passalo para o método. Usando objetos anônimos depois daquela linha o seu objeto esta na mira do garbage collector
Gostei muito do tópico, me fez aprender bastante, eu gostaria de aproveitar pra perguntar quais as aplicações mais comuns para objetos anonimos?
Obrigado
Só passa-los como parametros, ou acessar um membro sem criar uma variavel, só isso. Pois não há muito o que fazer com um objeto sem uma variavel que o referencie…
ex.:
[code]public class Calculadora{
public double somar(double a, double b){
return a+b;
}
}
double soma = new Calculadora().somar(10d, 20d);[/code]
A ideia a entender é: você não precisa armazenar a referencia em uma variavel para usa-la, só precisa ter em mente que se não armazenar, vai perde-la logo apos o uso.