Baixe o app para aproveitar ainda mais
Prévia do material em texto
POOS3 – Programação Orientada a Objetos edilson.ifsp@gmail.com Aula 8 – Classes Abstratas, Polimorfismo 1. Polimorfismo Polimorfismo é a capacidade de um objeto ser referenciado de múltiplas formas. Essa característica permite que qualquer subclasse de uma determinada superclasse possa ser tratada como uma superclasse. É importante destacar que o tipo do objeto é determinado em tempo de execução pelo Java. Veja o exemplo: “Poos3_Aula08_Polimorfismo_Ex1”. 2. Classes Abstratas Uma classe abstrata não pode ser instanciada, ou seja, não é possível utilizar a palavra chave new para criar um objeto a partir dessa classe. Dessa forma, a classe abstrata contém código genérico e as subclasses especificam as particularidades. A utilização de métodos abstratos possibilita a enumeração de características genéricas do modelo, mas sem a implementação dos mesmos, obrigando às subclasses a implementação dessas funcionalidades abstratas. Cuidado!! Se a classe possui um ou mais métodos abstratos, ela deve ser, obrigatoriamente, abstrata. As subclasses de uma superclasse abstrata devem oferecer implementações para todos os métodos abstratos da superclasse. Veja os exemplos “Poos3_Aula08_Abstrata_Ex1” e “Poos3_Aula08_Abstrata_Ex2”. 3. Operador instanceof O operador instanceof pode ser utilizado para verificar se um objeto é do tipo de uma determinada classe. Geralmente, esse operador é utilizado junto ao método equals(). Prefira utilizar polimorfismo ao invés de comparações por meio do operador instanceof. Veja os exemplos: “Poos3_Aula08_InstanceOf”. “Poos3_Aula08_InstanceOf_Corrigido”. Qual dos exemplos fornece um código um código mais flexível de melhor manutenção? 4. Para estudar Livro: Java Como Programar (Capítulo 10) ou Livro: Use a Cabeça (Capítulo 8). 5. Exercícios 5.1. Elabore um programa que permita a escolha e utilização de instrumentos musicais. Após escolher um instrumento musical, o usuário pode selecionar entre as seguintes opções: “definição”, “tipo” e “tocar”. A definição explica o que é o instrumento, o tipo identifica se o instrumento é de corda, percussão, sopro, etc, e “tocar” exibe o som gerado pelo instrumento. Utilize Classes Abstratas. 5.2. Escreva um programa que contenha as classes Funcionario e Gerente. Adapte o programa para: a) Criar a classe Assistente, que também é um funcionário, e possui um código de identificação. b) Criar as classes Tecnico e Administrativo. Os Assistentes técnicos possuem um bônus salarial e os Assistentes administrativos possuem turno (diurno ou noturno) e um adicional noturno. 5.3. Crie uma classe chamada Ingresso contendo o atributo valor e o método imprimeValor(). Após isso: a) Crie uma classe Vip, que herda de Ingresso e possui um valor adicional. Especifique um método que exiba o valor desse ingresso, considerando o valor adicional. b) Crie uma classe Normal, que herda de ingresso e possui um método que imprime o tipo de ingresso (no caso, “Ingresso Normal”). c) Crie uma classe chamada Camarote Superior (possui um valor adicional) e outra chamada Camarote Inferior (possui a localização da mesa e métodos para acessar e imprimir essa localização). Ambas as classes herdam de Vip. 5.4. Dadas as classes Gato, Cachorro, Leão, Lobo e Animal, e considerando-se que: a) Todo animal tenha peso e habitat (indicando somente um continente no qual possa ser encontrado). b) Todo animal tenha uma forma diferente de se alimentar. c) Gato e Cachorro possam brincar (com seres humanos). Escreva um programa utilizando o conceito de classes abstratas que contenha um método principal para simular a criação de objetos com as características citadas acima. Observação: Todo método criado deverá conter em seu corpo apenas uma mensagem indicando o que seria implementado ali. Exemplo: “Implementar maneira como um cachorro se alimenta”. 5.5. Elabore um programa para catalogar livros, CDs e DVDs. Os dados comuns dos itens são: identificação única, descrição, ano de aquisição e lista de autores. É necessário que os dados específicos sejam armazenados também, da seguinte maneira: - Para livros, a editora e o ano de publicação. - Para CDs, o gênero musical e a identificação das faixas. - Para DVDs, o tipo (musical ou filme) e se existem extras.
Compartilhar