Buscar

Herança e Polimorfismo em Java

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais