Orientada a Objetos
GCC110 Turmas 10A/22A
2016-2
Se ns criarmos duas novas classes similares a Elemento e Lista, mas dessa vez para vendedores
estaremos criando novas classes muito parecidas com as anteriores (replicao de cdigo).
No temos como herdar da lista que criamos porque ela tem atributo do tipo carro que no tem
nada a ver com vendedores.
listaCarros.adicionar(vendedor1);
Carro carro = listaVendedores.getValor(0);
Suponha, por exemplo, que voc queira criar um mtodo que pega os
elementos de um vetor (simples) e coloca em uma coleo.
Mas voc quer usar esse mtodo para vetores e colees de quaisquer tipos.
vetorParaColecao(v, c);
vetorParaColecao(v, c);
Programao Genrica e a API Java
Fonte: https://docs.oracle.com/javase/tutorial/collections
Vamos aproveitar para conhecer para que serve cada uma dessas interfaces.
Interface List<E> Uma coleo que pode ter elementos duplicados e esses elementos esto
em determinada ordem.
Pode ser usado como pilha e/ou filha. Insere/remove elementos do incio
Interface Deque<E>
ou do fim.
Lembre-se que essas so as interfaces. Usamos os objetos das classes que as implementam!
A classe Collections do Java
Podemos fazer:
Collections.sort(minhaColeo).
Exemplos:
Busca Binria.
Adicionar elementos de uma lista em outra.
Dizer se duas listas no tem elementos em comum.
Contar quantidade de vezes que um objeto aparece.
Maior elemento.
Menor elemento.
Substituir ocorrncias de um elemento por outro.
Inverter.
Embaralhar.
Parte 17
Serializao
Arquivos Binrios: Escrita
E aquele
Java nos permite salvar objetos inteiros (com todos os negcio de
seus atributos tambm) utilizando um nico comando. arquivo
binrio?
Para isso, precisamos primeiro que cada classe que ter
objetos salvos implemente a interface Serializable.
A interface Serializable no possui nenhum mtodo, ela serve apenas para indicar ao Java em
tempo de execuo que os objetos daquela classe podero ser salvos em formato binrio.
Arquivos Binrios: Escrita
27
Indique se as afirmativas so verdadeiras ou falsas e justifique sua resposta:
a) Todos os mtodos de uma classe abstrata devem ser declarados como abstratos.
d) Um objeto de uma classe que implementa uma interface pode ser visto como um
objeto do tipo daquela interface.
Fonte: http://web.cerritos.edu/
Como o polimorfismo
promove a extensibilidade?
Fonte: http://web.cerritos.edu/
O termo interface utilizado em, pelo menos, trs diferentes
contextos em programao a objetos. Explique cada um dos conceitos
explicitando a diferena entre eles:
1. Associao
2. Herana
3. Agregao
4. Composio
Faa um diagrama de classes UML para a seguinte situao:
Queremos modelar um sistema de gesto de voos e pilotos.
Uma companhia area opera voos. Cada companhia area tem um ID.
Cada voo tem uma identificao de um aeroporto de partida e um aeroporto de chegada.
Cada voo tem um piloto e um co-piloto, e eles usam aeronaves de um determinado tipo; um voo
tem tambm uma hora de partida e uma hora de chegada.
Uma companhia area possui um conjunto de aeronaves de diferentes tipos.
Uma aeronave pode estar em operao ou em manuteno.
Em um dado momento, uma aeronave pode estar voando ou em solo.
A empresa tem um conjunto de pilotos: cada piloto tem um nvel de experincia: no mnimo 1 e no
mximo 3.
Um tipo de avio pode precisar de um determinado nmero de pilotos, cada um com um papel
diferente (ex: capito, co-piloto, navegador).
Deve haver, pelo menos, um capito e um co-piloto, e o capito deve ser um pilito de nvel 3.
Fonte: http://softeng.polito.it/