2. Imagine que comecemos a aumentar nossa
classe Conta e quiséssemos armazenar
informações sobre o cliente associado à
conta.
3. 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.
4. 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.
8. 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.
9. 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.
10. 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
11. 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.
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 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.
14. Toda lista (na verdade, toda Collection)
trabalha do modo mais genérico possível.
Pode-se criar uma lista de qualquer objeto
16. Pesquisar como utilizar o Enhanced For para
percorrer um ArrayList.
Pesquisar o funcionamento dos seguintes
métodos:
◦ Remove
◦ Contains
17. 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
18. 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.