Qual a diferença quando eu faço isso
NumberFormat formato = NumberFormat.getCurrencyInstance();
formato.format(variavel);
NumberFormat.getCurrencyInstance().format(variavel);
eu nao entendi isso direito na orientação a objetos…
Tipo o que acontece quando eu falo NumberFormat formato = NumberFormat.getCurrencyInstance;
me expliquem se tiver jeito!
Não tem nada a ver com orientação a objetos. Isso é só aplicação de funções.
NumberFormat formato = NumberFormat.getCurrencyInstance();
formato.format(variavel);
é a mesma coisa que
NumberFormat.getCurrencyInstance().format(variavel);
O NumberFormat utiliza o desing-pattern de Singleton, seria
interessante que você lê-se sobre para entender melhor.
:arrow: No primeiro exemplo você pede a ele uma instância e armazena
ela na váriavel de referência formato.
:arrow: Ja no segundo você solicita uma instância do mesmo mas NÃO
armazena sua referência em uma variavel, executa um método (format) diretamente no objeto retornado, neste caso uma instância de NumberFormat o método format.
Acho que sua dúvida é devido ao encadeamento de métodos,
procuro alguma literatura sobre ![:slight_smile: :slight_smile:](https://www.guj.com.br/images/emoji/twitter/slight_smile.png?v=9)
[quote=tgpadua]O NumberFormat utiliza o desing-pattern de Singleton, seria
interessante que você lê-se sobre para entender melhor.
:arrow: No primeiro exemplo você pede a ele uma instância e armazena
ela na váriavel de referência formato.
:arrow: Ja no segundo você solicita uma instância do mesmo mas NÃO
armazena sua referência em uma variavel, executa um método (format) diretamente no objeto retornado, neste caso uma instância de NumberFormat o método format.
Acho que sua dúvida é devido ao encadeamento de métodos,
procuro alguma literatura sobre :)[/quote]
nossa acho que agora deu para entender mais ou menos! vou ver sobre o Singleton que é realmente uma materia que estou estudando agora em java na faculdade…
Mas então o metodo getCurrencyInstance da classe NumberFormat me retorna um objeto ??? Ele me retorna um objeto que posso interpretar como uma subclasse da classe NumberFormat ??
Pois o objeto retornado me da outros metodos e nisso que eu não entendi direito saco? pq se eu pego NumberFormat. eu não tenho acesso ao metodo format…
Ai que entrei em parafuso!