Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Programação Orientada a Objetos Classes Abstratas * de 7 Classe abstrata Em alguns casos, uma superclasse torna-se tão geral que acaba sendo vista como um modelo para outras classes e não como uma classe com instâncias específicas que são usadas; Não representam um tipo concreto no sistema sendo modelado. Não pode ser instanciada; Pode ou não conter métodos abstratos; Pode conter atributos; * de 7 Não devemos permitir a criação de objetos da classe Conta. O método calcularImposto possui implementação diferente nas classes filhas. Problema * de 7 Definir a classe Conta como abstrata; Definir o método como calcularImposto abstrato; Solução * de 7 * de 7 Só pode ser inserido numa classe abstrata; Não possui implementação, apenas assinatura; É obrigado que as classes filhas implementem o método abstrato. Método abstrato * de 7 Programação III Interface * de 7 Interface Modela um comportamento esperado para as classes que à implementam; Não pode ser instanciada; Todos os métodos não possuem implementação (abstratos); Não pode conter atributos, somente constantes; A classe que implementa uma interface, obrigatoriamente deve implementar todos seus métodos. * de 7 Problema: Interface * de 7 Solução: Interface * de 7 Exemplo: public interface Tributavel { double calcularImposto(); } public class Previdencia extends Conta implements Tributavel { double calcularImposto(); //implementação do método } } Interface * de 7 Interface X Herança Com interfaces as alterações pontuais em determinados trechos é mais fácil; Priorizar a herança pode diminuir a quantidade de código escrito; Em Java não existe herança múltipla essa limitação pode ser solucionada com interface. * de 7 Exercício Resolva os exercícios da atividade 3 * de 7 Observações: A classe Produto é abstrata; O método calcularPrecoVenda da classe Produto é abstrato; Regras: Subclasse Livro: Método reescrito calcularPrecoVenda() Calcula 10% sobre o preço de custo e armazena no atributo precoVenda (precoVenda= precoCusto* 1.1). Subclasse Cds: Método reescrito calcularPrecoVenda() Calcula 15% sobre o preço de custo e armazena no atributo precoVenda (precoVenda= precoCusto * 1.15). * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar