Classes Internas (Java)/Gatos Iteráveis

From Wiki**3

< Classes Internas (Java)
Revision as of 00:07, 17 October 2013 by Root (talk | contribs) (Created page with "A tarefa nestes exemplos é definir um gato iterável. Iterar implica a capacidade de obter múltiplas entidades a partir de um gato. Embora seja perfeitamente possível definir...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A tarefa nestes exemplos é definir um gato iterável.

Iterar implica a capacidade de obter múltiplas entidades a partir de um gato. Embora seja perfeitamente possível definir iteradores independentes da linguagem Java, é mais conveniente usar os conceitos Java para iteração, pois permitem utilizar algoritmos pré-definidos para iteradores (tirando partido do polimosfismo) e utilizar a sintaxe especial for-each, aplicável a entidades iteráveis e arrays (i.e., entidade primitivas com dimensão fixa).

Assim, serão implementadas duas interfaces pré-definidas em Java. A primeira das interfaces é java.lang.Iterable<T> e é implementada pelas classes que representam, em cada caso, o conceito de gato. Em geral, esta interface é implementada por qualquer entidade que representa um qualquer tipo de colecção de objectos.

A segunda interface é java.util.Iterator<T> e é implementada pelos iteradores definidos para as entidades iteráveis. Note-se que alguns dos exemplos de implementação serão internos, embora esta interface seja exterior a todas as classes.

Caso 1: definição de duas classes independentes

Caso 2: reutilização de iteradores

Caso 3: usando classes internas

Caso 4: usando classe interna a um método

Caso 5: usando classe anónima

Caso 6: usando classes anónimas e polimorfismo

Leitura adicional

  • Ver o manual de Java, para os conceitos acima.