Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação Fabiano Gonçalves dos Santos Aula 5 Conteúdo • Apresentar os conceitos de herança • Criar e manipular classes e objetos que se relacionam por meio de herança • Sobrecarga de métodos • Usar interfaces gráficas interagindo com objetos e classes 2 • Significa a capacidade de incorporar as características e as funcionalidades de uma classe. Assim como a herança de todas as operações e dados, você pode especializar métodos da super classe e especificar novas operações e dados, para refinar, especializar, substituir ou estender a funcionalidade da classe progenitora. Herança 3 • Uma classe define um conjunto de dados – Atributos – e um conjunto de métodos • Todos os objetos de uma classe mantêm o mesmo conjunto de atributos e métodos. • Através do mecanismo de herança, tendo definido uma classe base é possível criar classes derivadas que: – herdam os atributos e métodos da classe base – definem novos atributos e métodos – podem redefinir os métodos herdados Herança 4 Herança 5 • Estender – Criar uma nova classe que herda todo o conteúdo da classe existente. • Superclasse – Uma classe progenitora ou base. • Subclasse – Uma classe filha que herda ou estende uma superclasse Vocabulário 6 • Uma classe abstrata em Java define atributos e métodos. • Numa classe abstrata, um método pode ser definido com o modificador “abstract”. Nesse caso: – A classe abstrata não implementa os método abstratos. – As classes derivadas devem implementar os métodos abstratos. Classe Abstrata 7 • Uma classe abstrata é utilizada quando deseja-se fornecer uma interface comum a diversos membros de uma hierarquia de classes. Os métodos declarados na classe abstrata serão implementados em suas subclasses, através de polimorfismo. • Imagine uma classe que no seu sistema, a uma funcionalidade existente em todas as subclasses quer ser apresentada na superclasse. Este método é definido na superclasse como Abstract. Nas subclasses, estes métodos serão implementados, cada um com a sua peculiaridade. Classe Abstrata 8 • Como visto anteriormente, subclasses podem redefinir (sobrepor) um método de sua superclasse. • Para indicar que um método de uma classe deve necessariamente ser redefinido em cada uma de suas subclasses devemos usar o modificador abstract. • Uma classe que contém um ou mais métodos abstratos deve ser declarada explicitamente como abstrata. Essa classe, no entanto, pode ter construtores e métodos concretos (não-abstratos). • Se uma classe é declarada como abstract, não podem ser criados objetos desta classe. Importante! 9 • Se uma subclasse é derivada de uma superclasse que contém um método abstrato e se esse método abstrato não for redefinido na subclasse, esse método permanece abstract na subclasse. Com isso, a subclasse deverá ser declarada explicitamente como abstract. • Declarar um método como abstrato é uma forma de obrigar o programador a redefinir esse método em todas as subclasses para as quais se deseja criar objetos. • Como um método abstrato deve ser redefinido nas subclasses, na superclasse ele não precisa ter implementação alguma. Importante! 10 Exemplos Classe Empregado Arquivo: Empregado.java Classe e métodos abstratos 11 Chefe: salário fixo e predefinido; Comissionado: valor fixo + comissão * vendas; PorItem: valor por produção * quantidade produzida; Horista: valor por hora * total de horas trabalhadas. Exemplo de Hierarquia 12 Classe Chefe Arquivo: Chefe.java 13 Classe Comissionado Arquivo: Comissionado.java 14 Classe PorItem Arquivo: PorItem.java 15 Classe Horista Arquivo: Horista.java 16 Teste 17 Teste 18 • É a capacidade que os métodos de mesmo nome têm de efetuarem tarefas diferentes. • O mesmo método com várias formas. • Acontece de duas maneiras em Java: quando os métodos são definidos em função da classe que os utiliza (sobreposição) ou dos diferentes conjuntos de argumentos definidos para cada método (sobrecarga). • Uso do this – Chamada para outro construtor da mesma classe. É um excelente artifício para combinar código dos construtores. Polimorfismo 19 Exemplo 20 Exemplo 21 Linguagem de Programação Fabiano Gonçalves dos Santos Atividade 5 Exercício • Faça um programa com uma interface gráfica para criar o objeto Cliente • Faça outro programa com outra interface gráfica para criar o ClienteOuro • Para ambos exercícios utilize o Jframe para construir as interfaces. • Crie as classes isoladamente em arquivos separados. 24 25 26 27
Compartilhar