Académique Documents
Professionnel Documents
Culture Documents
Programação em Java
◼ Encapsulamento
◼ Herança
◼ Polimorfismo
2/33
Introdução
3/33
Software moderno
4/33
Polimorfismo
5/33
Polimorfismo
6/33
Exemplo Polimorfismo
◼ Porta;
◼ Conta Bancária;
◼ Caixa;
7/33
Polimorfismo
8/33
Polimorfismo
9/33
Polimorfismo
desenhar()
10/33
Exemplo polimorfismo
class Elipse {
void desenhar () {
// código para desenhar uma elipse
}
}
11/33
Exemplo polimorfismo
figura1.desenhar();
figura2.desenhar();
12/33
Exercício
◼ Imagine um programa para gerenciar uma grande loja
com produtos variados. Tal programa irá conter uma
classe Produto, definida para um produto genérico.
Atributos do produto: codigo, nome, preco e desconto_a_vista
14/33
O modificador final
15/33
Classes abstratas
16/33
Métodos abstratos
17/33
Classes abstratas
18/33
Exemplo
Considere o exemplo envolvendo herança do slide
anterior:
Figura
Polígono Elipse
Quadrado
19/33
Exemplo
20/33
Exemplo
A classe Figura poderia ser definida como abstrata,
como no exemplo abaixo:
21/33
Classes abstratas “puras”
22/33
Interfaces
23/33
Interfaces
24/33
Interfaces
25/33
Exemplo Interface
public interface MinhaInterface {
public void meuMetodoAbstrato ();
}
26/33
Exemplo Interface
public class MinhaClasse implements MinhaInterface {
public void meuMetodoAbstrato() {
System.out.println(“Método implementado!”);
}
}
27/33
Vantagens do uso de interfaces
◼ Viabilizam o polimorfismo.
28/33
Exercício
Considere o exemplo envolvendo herança do
slide anterior:
Figura
Polígono Elipse
Quadrado
29/33
Exercício
◼ Em uma hierarquia como a vista no slide anterior, algumas classes irão
representar figuras geométricas. Figuras geométricas, ao contrário de
figuras genéricas, possuem uma área interna simples de calcular.
30/33
Sobrecarga de métodos
31/33
Sobrecarga de métodos
◼ Útil quando:
Temos métodos cujo significado independe de seus parâmetros.
O conceito veiculado pelo método não muda quando alteramos
o tipo dos parâmetros.
32/33
Sobrecarga de métodos
33/33
Discussão
34/33
Polimorfismo
Programação em Java