O SEMINÁRIO DE NÚCLEO
Por: Matheus Nascimento • 21/5/2019 • Seminário • 962 Palavras (4 Páginas) • 113 Visualizações
- Seja o seguinte trecho de código:
public interface Transporte {
void mover();
void ligar();
void desligar();
};
// TransporteAereo é sub-tipo de Transporte
public Abstract Class TransporteAereo extends Transporte {
public void mover() {...}
public void decolar();
public void aterrissar();
};
// Aviao é sub-tipo de TransporteAereo
public Class Aviao extends TransporteAereo {
public void decolar() {...}
public void aterrissar() {...}
};
public Class Principal {
public static void main(String args[])
{
private Transporte t1 = new TransporteAereo();
private Transporte t2 = new Aviao();
private TransporteAereo t3 = new Aviao();
private Aviao t4 = new Aviao();
t1.decolar();
t2.decolar();
t3.decolar();
t4.decolar();
}
};
Identifique e corrija os problemas presentes neste código (2,5).
- Analise as seguintes afirmativas quanto ao uso de threads.
- A chamada do método run() faz com que a thread seja disponibilizada para execução, mas não garante que a execução ocorra exatamente naquele instante.
- A escolha de qual thread será executada em um dado instante fica a cargo do escalonador do sistema. O usuário não pode precisar o instante exato de início da thread.
- O método start() define o comportamento da thread.
- A implementação da Interface Runnable dispensa a utilização da classe Thread, seja com herança ou composição.
A análise permite concluir que (JUSTIFIQUE OS ITENS INCORRETOS) (2,5)
- Apenas uma afirmação está correta.
- Somente duas afirmações estão corretas.
- Somente três afirmações estão corretas.
- Somente quatro afirmações estão corretas.
- Todas as afirmações estão corretas.
- Implemente o seguinte programa para uma empresa de entregas (5,0):
- A empresa dispõe de vários Veículos, os quais possuem placa, tipo, marca e quilometragem (identificando a quantidade de quilômetros já percorrida pelo veículo).
- Cada Veículo entrega vários Produtos, os quais possuem código, nome, tipo, endereço de entrega, data prevista para a entrega e data da entrega realizada. Essa última deve ser superior à data prevista para a entrega. Caso isso não ocorra, uma exceção (DataEntregaException) deve ser lançada.
- Cada Produto é entregue em uma Viagem por um Veículo que sai da empresa. Cada Viagem possui um código, uma data e um determinado Veículo para entregar os Produtos (lista de todos os produtos que um veículo precisa realizar em uma determinada viagem. Utilize alguma coleção).
- Quando um produto é adicionado à lista para ser entregue pelo veículo, o programa deve verificar se o produto já foi entregue anteriormente. Nesse caso, lançar a exceção EntregaInvalidaException e informar na tela que o produto já foi entregue em determinada data (isso deve ser realizado no momento que a exceção lançada for capturada).
- Se a data de previsão de entrega do produto adicionado for superior à data da viagem, lançar a exceção DataEntregaException.
- Quando um produto for entregue, seu atributo respectivo (data da entrega realizada) deve ser atualizado.
- Crie 3 Produtos e 1 Veículo e associe-os a 1 Viagem. Todas as informações de todas as viagens devem ser salvas no arquivo “viagens.txt”. Todos os atributos criados devem ser privados. As exceções criadas devem ser do tipo Exception e devem ser tratadas na classe principal (main).
- Corrija os problemas presentes no código abaixo identificando se o mesmo ocorre em tempo de compilação ou execução. Observação: apenas a classe Gato é concreta (2,5):
public abstract class Animal {
String especie;
public abstract void nascer();
public void reproduzir();
public void emitirSom(){};
}
public interface Cartoon {
String nome;
public void desenhar();
public void movimentar(){};
...