12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

133 OBJECT<strong>de</strong>ssa classe.1 class Conta {2 private int numero ;3 private double saldo ;45 public String geraDescricao () {6 return " Conta número : " + this . numero + " possui saldo igual a " + this . saldo ;7 }89 // GETTERS E SETTERS10 }Código Java 15.7: Conta.javaA utilização do método que gera a <strong>de</strong>scrição textual das contas seria mais ou menos assim:1 Conta conta = ...2 String <strong>de</strong>scricao = conta . geraDescrica ();3 System . out . println ( <strong>de</strong>scricao );Código Java 15.8: Utilizando o método geraDescricao()Contudo, a classe Object possui um método justamente com o mesmo propósito do geraDescricao()chamado toString(). Como todas as classes <strong>de</strong>rivam direta ou indiretamente da classe Object, todosos objetos possuem o método toString().A implementação padrão do método toString() monta uma <strong>de</strong>scrição genérica baseada nonome da classe mais específica e no hash co<strong>de</strong> dos objetos.1 Conta conta = ...2 String <strong>de</strong>scricao = conta . toString ();3 System . out . println ( <strong>de</strong>scricao );Código Java 15.9: Utilizando o método toString()No código acima, a <strong>de</strong>scrição gerada pelo método toString() <strong>de</strong>finido na classe Object é algosemelhante à string: “Conta@4d5ef”.Para alterar o comportamento do método toString(), basta reescrevê-lo na classe Conta.1 class Conta {2 private int numero ;3 private double saldo ;45 public String toString () {6 return " Conta número : " + this . numero + " possui saldo igual a " + this . saldo ;7 }89 // GETTERS E SETTERS10 }Código Java 15.10: Conta.javaA vantagem em reescrever o método toString() ao invés <strong>de</strong> criar um outro método com omesmo propósito é que diversas classes das bibliotecas do Java utilizam o método toString(). Inclusive,quando passamos uma variável não primitiva para o método println(), o toString() échamado internamente para <strong>de</strong>finir o que <strong>de</strong>ve ser impresso na tela.www.<strong>k19</strong>.com.br 133

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!