Características das Linguagens de Programação - PF – 31/07/2015 1a questão: (valor: 2,0) Desenvolva uma classe Library que funcione como uma biblioteca para o seguinte tipo de mídia: livros, vídeos e músicas. A sua implementação deve obrigatoriamente fazer uso de generics. Sinta-se à vontade para usar qualquer API de java em sua implementação, caso julgue necessário. Basicamente a biblioteca deverá possuir os métodos: public insertElement (E element, K key) // inserir um novo ítem na biblioteca com uma chave dada que poderá ser usada para, posteriormente, recuperar o ítem da biblioteca. E recoverElement (K key) // recuperar um ítem da biblioteca void orderLibraryByKey ( ) // classifica os itens da Library em ordem lexicográfica, segundo a chave Obs.: Não se esqueça do construtor, nem de considerar o possível lançamento de exceções, p.ex., a tentativa de se recuperar um ítem da biblioteca quando o mesmo não se encontra na mesma. 2a questão: (valor: 2,0) Forneça o código em Java para a classe Midia e suas subclasses: Livro, Vídeo e Música e desenvolva uma pequena aplicação que use a classe Library para armazenar dados sobre os seus livros, vídeos e músicas (ex.: título, autor, editora, data, ISBN, gravadora, diretor, atores, gênero, etc.). Você poderá, se o desejar, ter uma instância da classe Library para cada tipo de produção, uma para os livros, outra, para os vídeos e outra, para as músicas. 3a questão: (valor: 2,0) Desenvolva um programa em Java com pelo menos dois diferentes threads que operem sobre a classe Library, armazenando e recuperando informações sobre os seus livros, vídeos e músicas. Entre uma operação e outra nestes threads espere um intervalo variando aleatoriamente entre 0 e 8 segundos. 4a questão: (valor: 2,0) Desenvolva um método showProperties() para cada uma das classes mencionadas na segunda questão e que simplesmente imprima as variáveis de instância que definam as características (título, autor, etc.) da mídia em questão. A seguir forneça um exemplo do uso desses métodos envolvendo Polimorfismo. 5a questão: (valor: 2,0) Defina um tipo enum para representar os 24 times de futebol que participarão do Campeonato Brasileiro de 2015. Cada time possui as seguintes propriedades a ele associadas: valor da folha de pagamento, técnico, melhor jogador. Desenvolva um pequeno programa exemplo em java que imprima o nome de cada time representado no enum, bem como as suas propriedades. Boa Sorte! Prof. Oscar Luiz Monteiro de Farias