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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OBJECT 1321 class Repositorio {2 private Object [] objetos = new Object [100];34 public void adiciona ( Object o) {5 // implementacao6 }78 public void remove ( Object o) {9 // implementacao10 }1112 public Object pega ( int posicao ) {13 // implementacao14 }15 }Código Java 15.3: Repositorio.javaCom esses métodos o repositório teria a vantagem <strong>de</strong> armazenar objetos <strong>de</strong> qualquer tipo. Porém,na compilação, não haveria garantia sobre os tipos específicos. Em outras palavras, já que objetos<strong>de</strong> qualquer tipo po<strong>de</strong>m ser armazenados no repositório então objetos <strong>de</strong> qualquer tipo po<strong>de</strong>msair <strong>de</strong>le.1 Repositorio repositorio = new Repositorio ();2 repositorio . adiciona (" Rafael ");3 Object o = repositorio . pega (0) ;Código Java 15.4: Utilizando o repositórioPor outro lado, na maioria dos casos, os programadores criam repositórios para armazenar objetos<strong>de</strong> um <strong>de</strong>terminado tipo. Por exemplo, uma repositório para armazenar somente nomes <strong>de</strong>pessoas, ou seja, para armazenar objetos do tipo String. Nesse caso, em tempo <strong>de</strong> compilação épossível “forçar” o compilador a tratar os objetos como string através <strong>de</strong> casting <strong>de</strong> referência.1 Repositorio repositorio = new Repositorio ();2 repositorio . adiciona (" Rafael ");3 Object o = repositorio . pega (0) ;4 String s = ( String )o;Código Java 15.5: Casting <strong>de</strong> referênciaO método toString()Às vezes, é necessário trabalhar com uma <strong>de</strong>scrição textual <strong>de</strong> <strong>de</strong>terminados objetos. Por exemplo,suponha a seguinte classe:1 class Conta {2 private int numero ;3 private double saldo ;45 // GETTERS E SETTERS6 }Código Java 15.6: Conta.javaQueremos gerar um documento no qual <strong>de</strong>ve constar as informações <strong>de</strong> <strong>de</strong>terminadas contas.Po<strong>de</strong>mos implementar um método, na classe Conta, que gere uma <strong>de</strong>scrição textual dos objetos132 www.<strong>k19</strong>.com.br

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

Saved successfully!

Ooh no, something went wrong!