Roteiro de Classes Abstratas e Concretas (4) - IC

Propaganda
Curso de Programação Básica em Java
Instituto de Computação – UNICAMP
Elaborado por: Cecília Mary Fischer Rubira
Fernando Castor Filho
Última revisão:
14/04/2004
Roteiro de Classes Abstratas e Concretas (4)
Nota: Os exercícios devem ser executados na ordem apresentada pois o nível de dificuldade é crescente.
1. Nos itens de 1 a 7 deste roteiro, o código deve ser compilado e executado a partir do diretório
veiculos, ou seja, o diretório veiculos deve ser o diretório corrente. Obtenha os arquivos
veiculos/FilaVeiculo.java,
veiculos/Veiculo.java,
veiculos/Carro.java,
veiculos/Caminhao.Java e veiculos/Inicial.java. Compile e execute a classe Inicial. Adicione o
modificador abstract à definição da classe Veiculo. Compile-a e execute novamente a classe Inicial.
2. Adicione à operação main( ) da classe Inicial uma linha que cria um objeto do tipo Veiculo. Compile a classe
Inicial. O que aconteceu? Você sabe explicar o porquê? Desfaça a modificação antes de passar para o próximo
item.
3. Remova o modificador abstract da definição da classe Veiculo. Defina em Veiculo a seguinte operação:
public abstract boolean ligar( );
Recompile as classes Caminhao e Carro. O que aconteceu?
4. Adicione o modificador abstract à definição da classe Carro e tente compilá-la. O que acontece? Desfaça essa
modificação antes de passar para o próximo item.
5. Implemente a operação ligar( ) nas classes Carro e Caminhao. Essa operação deve imprimir na tela uma
mensagem informando que o carro ou caminhão foi ligado corretamente. Obtenha a classe
veículos/ExemploLigar.java, compile os arquivos e execute essa classe.
6. Implemente uma operação ligarTodos( ) na classe FilaVeiculo. Essa operação deve funcionar de maneira muito
similar a mostraFila( ) mas, ao invés de enviar a mensagem mostra( ) de cada veículo, envia a mensagem ligar( ).
Modifique a operação main( ) da classe Inicial para que envie a mensagem ligarTodos( ) para o objeto fila.
Compile as classes e execute a classe Inicial.
7. Obtenha o arquivo veiculos/Aviao.Java. Apesar de representar um tipo de veículo, a classe Aviao não
apresenta todas as características definidas pela classe Veiculo. Por exemplo: não faz sentido um avião ter um
atributo chamado placa. Use o conceito de classes abstratas para reestruturar a hierarquia Veiculo.
8. Neste item, o código deve ser compilado e executado a partir do diretório figuras. Obtenha os arquivos
figuras/Figura.Java,
figuras/Circulo.java,
figuras/Linha.java
e
figuras/ExemploFiguras.java. Compile os arquivos, execute a classe ExemploFiguras e observe os
resultados. Modifique as operações esconder( ) e mostrar( ) para que deixem de ser abstratas e informem qual
operação de qual classe está sendo chamada (similarmente às operações esconder( ) e mostrar( ) da classe
Circulo). Recompile os arquivos e execute novamente a classe ExemploFiguras. Por que o resultado não mudou?
Modifique a operação mover( ) para o seguinte:
void mover(int x, int y) {
this.esconder();
this.mostrar(x, y)
}
Compile os arquivos e, mais uma vez, execute a classe ExemploFiguras. Por que o resultado também não mudou?
Download