KEMBAR78
Java: Composicao e Array List | PPTX
Arthur E. de O. Carosia
 Imagine que comecemos a aumentar nossa
classe Conta e quiséssemos armazenar
informações sobre o cliente associado à
conta.
 Imagine que comecemos a aumentar nossa
classe Conta e quiséssemos armazenar
informações sobre o cliente associado à
conta.
 Seria pertinente criar uma classe Cliente com
os atributos nome, sobrenome e cpf (ou
outros atributos necessários) e associá-la à
classe Conta.
 Sentido “tem um”
◦ Uma conta tem um cliente associado
 Composição
◦ É o uso de uma classe/objeto em outra
classe/objeto.
◦ Ato de delegar trabalho para outro objeto.
◦ Objetivo de comunicação e troca de informações.
◦ Forma de reúso.
 Evitando NullPointerException.
 Implementar a classe Jogador com métodos
get e set, construtores (um vazio e um com
todos atributos) e os seguintes atributos:
nome, número, time e posição.
 Cada jogador possui um comportamento,
caracterizado pela saída da String ‘jogando’.
 Criar 3 jogadores em uma classe principal,
lendo todos os seus atributos do teclado.
 Para cada jogador, verificar se sua posição é
uma das seguintes: goleiro, defesa, meio-
campo ou atacante.
 Verificar se o número do jogador está entre 1
e 99.
 Implementar a classe Time, que possui um
nome e quatro jogadores, sendo um de cada
posição:
◦ goleiro,
◦ defesa,
◦ meio-campo
◦ Atacante
 No programa principal, ler do teclado dois
times completos, ou seja, o total de oito
jogadores.
 Problemas no uso de Arrays em Java:
◦ não podemos redimensionar um array em Java;
◦ é impossível buscar diretamente por um
determinado elemento cujo índice não se sabe;
◦ não conseguimos saber quantas posições do array
já foram populadas sem criar, para isso, métodos
auxiliares.
◦ Manipulação de elementos em um Array também
pode comprometer a aplicação
 Conjunto de classes e interfaces que reside
no pacote java.util desde o Java2 1.2.
 API robusta e possui diversas classes que
representam estruturas de dados avançadas.
 Uma lista é uma coleção que permite elementos
duplicados e mantém uma ordenação específica
entre os elementos.
 Quando percorrer a lista, os elementos serão
encontrados em uma ordem pré-determinada,
definida na hora da inserção dos mesmos.
 A implementação mais utilizada da
interface List é a ArrayList, que trabalha com um
array interno para gerar uma lista.
 Criando e adicionando elementos (no final da
lista) em um ArrayList
 Não é necessário informar qual é o tamanho
da lista
 A lista cresce conforme for necessário.
 Toda lista (na verdade, toda Collection)
trabalha do modo mais genérico possível.
 Pode-se criar uma lista de qualquer objeto
 Percorrendo a lista
 Pesquisar como utilizar o Enhanced For para
percorrer um ArrayList.
 Pesquisar o funcionamento dos seguintes
métodos:
◦ Remove
◦ Contains
 No Java 5.0, podemos usar o recurso de
Generics para restringir as listas a um
determinado tipo de objetos (e não
qualquer Object).
 Elimina a necessidade de casting
 Use um ArrayList na classe Principal do
exercício anterior para ler e armazenar uma
quantidade não determinada de jogadores.
 Crie na classe Jogador um método que
retorne os seus atributos concatenados na
forma de String.
 Em seguida, percorra todo o ArrayList na
classe Principal exibindo todos atributos dos
jogadores.
Arthur E. de O. Carosia

Java: Composicao e Array List

  • 1.
    Arthur E. deO. Carosia
  • 2.
     Imagine quecomecemos a aumentar nossa classe Conta e quiséssemos armazenar informações sobre o cliente associado à conta.
  • 3.
     Imagine quecomecemos a aumentar nossa classe Conta e quiséssemos armazenar informações sobre o cliente associado à conta.  Seria pertinente criar uma classe Cliente com os atributos nome, sobrenome e cpf (ou outros atributos necessários) e associá-la à classe Conta.
  • 4.
     Sentido “temum” ◦ Uma conta tem um cliente associado  Composição ◦ É o uso de uma classe/objeto em outra classe/objeto. ◦ Ato de delegar trabalho para outro objeto. ◦ Objetivo de comunicação e troca de informações. ◦ Forma de reúso.
  • 6.
  • 8.
     Implementar aclasse Jogador com métodos get e set, construtores (um vazio e um com todos atributos) e os seguintes atributos: nome, número, time e posição.  Cada jogador possui um comportamento, caracterizado pela saída da String ‘jogando’.  Criar 3 jogadores em uma classe principal, lendo todos os seus atributos do teclado.  Para cada jogador, verificar se sua posição é uma das seguintes: goleiro, defesa, meio- campo ou atacante.  Verificar se o número do jogador está entre 1 e 99.
  • 9.
     Implementar aclasse Time, que possui um nome e quatro jogadores, sendo um de cada posição: ◦ goleiro, ◦ defesa, ◦ meio-campo ◦ Atacante  No programa principal, ler do teclado dois times completos, ou seja, o total de oito jogadores.
  • 10.
     Problemas nouso de Arrays em Java: ◦ não podemos redimensionar um array em Java; ◦ é impossível buscar diretamente por um determinado elemento cujo índice não se sabe; ◦ não conseguimos saber quantas posições do array já foram populadas sem criar, para isso, métodos auxiliares. ◦ Manipulação de elementos em um Array também pode comprometer a aplicação
  • 11.
     Conjunto declasses e interfaces que reside no pacote java.util desde o Java2 1.2.  API robusta e possui diversas classes que representam estruturas de dados avançadas.
  • 12.
     Uma listaé uma coleção que permite elementos duplicados e mantém uma ordenação específica entre os elementos.  Quando percorrer a lista, os elementos serão encontrados em uma ordem pré-determinada, definida na hora da inserção dos mesmos.  A implementação mais utilizada da interface List é a ArrayList, que trabalha com um array interno para gerar uma lista.
  • 13.
     Criando eadicionando elementos (no final da lista) em um ArrayList  Não é necessário informar qual é o tamanho da lista  A lista cresce conforme for necessário.
  • 14.
     Toda lista(na verdade, toda Collection) trabalha do modo mais genérico possível.  Pode-se criar uma lista de qualquer objeto
  • 15.
  • 16.
     Pesquisar comoutilizar o Enhanced For para percorrer um ArrayList.  Pesquisar o funcionamento dos seguintes métodos: ◦ Remove ◦ Contains
  • 17.
     No Java5.0, podemos usar o recurso de Generics para restringir as listas a um determinado tipo de objetos (e não qualquer Object).  Elimina a necessidade de casting
  • 18.
     Use umArrayList na classe Principal do exercício anterior para ler e armazenar uma quantidade não determinada de jogadores.  Crie na classe Jogador um método que retorne os seus atributos concatenados na forma de String.  Em seguida, percorra todo o ArrayList na classe Principal exibindo todos atributos dos jogadores.
  • 19.
    Arthur E. deO. Carosia