Metodologia e Linguagem de
Programação
Prof.º Thyago Maia
2015.1
Objetivos
Aula 7
• Apresentar as classes abstratas;
2
Classes Abstratas
Classes Abstratas
 Considere o exemplo da aula anterior:
4
Figura
x: double
y: double
mostraArea()
Triangulo
mostraArea()...
Classes Abstratas
 Considere o exemplo da aula anterior:
5
Figura
x: double
y: double
mostraArea()
Triangulo
mostraArea()...
Classes Abstratas
 Considere o exemplo da aula anterior:
6
Figura
x: double
y: double
mostraArea()
Triangulo
mostraArea()...
Classe abstrata
 Uma classe abstrata não pode ser instanciada (não
podemos criar objetos de tais classes);
 Apenas as su...
Classe Abstrata
 Ex.:
8
abstract class Figura {
private double x;
private double Y;
public double getX() {
return x;
}
//...
Métodos Abstratos
Métodos Abstratos
 Voltando o exemplo da aula anterior:
10
Figura
x: double
y: double
mostraArea()
Triangulo
mostraArea()...
Métodos Abstratos
 Considere o exemplo da aula anterior:
11
Figura
x: double
y: double
mostraArea()
Triangulo
mostraArea(...
Métodos Abstratos
 Considere o exemplo da aula anterior:
12
Figura
x: double
y: double
mostraArea()
Triangulo
mostraArea(...
Métodos Abstratos
 Todas as classes filhas deverão reescrever métodos
que forem classificados como abstratos (uma espécie...
Métodos Abstratos
 Ex.:
14
abstract class Figura {
private double x;
private double Y;
abstract void mostraArea();
// ......
Exercício
Exercício
 Implemente as classes abaixo:
16
Animal
raca: String
exibeBarulho()
Cachorro
exibeBarulho()
Gato
exibeBarulho(...
Exercício
 Crie uma classe Java chamada Principal, que...
 Terá o método main implementado;
 Irá instanciar as classes ...
Explore o assunto!
Explore o assunto!
• Referências
– CAELUM. Java e Orientação a Objetos. [Internet].
[citado em 2014 Feb 11]. Disponível em...
Próximos SlideShares
Carregando em…5
×

Metodologia e Linguagem de Programação - 2015.1 - Aula 7

324 visualizações

Publicada em

Metodologia e Linguagem de Programação - 2015.1 - Aula 7

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
324
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Metodologia e Linguagem de Programação - 2015.1 - Aula 7

  1. 1. Metodologia e Linguagem de Programação Prof.º Thyago Maia 2015.1
  2. 2. Objetivos Aula 7 • Apresentar as classes abstratas; 2
  3. 3. Classes Abstratas
  4. 4. Classes Abstratas  Considere o exemplo da aula anterior: 4 Figura x: double y: double mostraArea() Triangulo mostraArea() Quadrado mostraArea()
  5. 5. Classes Abstratas  Considere o exemplo da aula anterior: 5 Figura x: double y: double mostraArea() Triangulo mostraArea() Quadrado mostraArea() A classe Figura não era instanciada (não criamos objetos desta classe) Definida apenas para questões de herança e polimorfismo
  6. 6. Classes Abstratas  Considere o exemplo da aula anterior: 6 Figura x: double y: double mostraArea() Triangulo mostraArea() Quadrado mostraArea() Tal classe é uma forte candidata a ser uma classe abstrata!
  7. 7. Classe abstrata  Uma classe abstrata não pode ser instanciada (não podemos criar objetos de tais classes);  Apenas as subclasses (as classes filhas) poderão ser instanciadas;  Utilizada para manter a consistência de implementações;  Em Java, para definir uma classe abstrata, utilizamos a palavra reservada abstract na declaração desta; 7
  8. 8. Classe Abstrata  Ex.: 8 abstract class Figura { private double x; private double Y; public double getX() { return x; } // .... }
  9. 9. Métodos Abstratos
  10. 10. Métodos Abstratos  Voltando o exemplo da aula anterior: 10 Figura x: double y: double mostraArea() Triangulo mostraArea() Quadrado mostraArea()
  11. 11. Métodos Abstratos  Considere o exemplo da aula anterior: 11 Figura x: double y: double mostraArea() Triangulo mostraArea() Quadrado mostraArea() O método mostraArea() “não fazia nada” (não possuía instruções a serem executadas) Definida apenas para questões de polimorfismo
  12. 12. Métodos Abstratos  Considere o exemplo da aula anterior: 12 Figura x: double y: double mostraArea() Triangulo mostraArea() Quadrado mostraArea() Tal método é um forte candidato a ser um método abstrato!
  13. 13. Métodos Abstratos  Todas as classes filhas deverão reescrever métodos que forem classificados como abstratos (uma espécie de “polimorfismo obrigatório”);  Como se as classes filhas tivessem a responsabilidade de ter aquele método!  Obriga o acesso aos métodos sobrescritos, implementados nas classes filhas;  Em Java, para definir um método abstrato, utilizamos a palavra reservada abstract na sua assinatura;  Um método abstrato não possui corpo;  Coloca-se ; aos invés do { e } 13
  14. 14. Métodos Abstratos  Ex.: 14 abstract class Figura { private double x; private double Y; abstract void mostraArea(); // ... }
  15. 15. Exercício
  16. 16. Exercício  Implemente as classes abaixo: 16 Animal raca: String exibeBarulho() Cachorro exibeBarulho() Gato exibeBarulho() OBS: Todos os atributos são privados. Crie os métodos get e set necessários. OBS: O método exibeBarulho() simplesmente imprime na tela o barulho de cada classe animal DICA: Para criar todos os métodos GET e SET automaticamente, clique com o botão direito do mouse sobre o código (Opção Source >> Generate Getters e Setters). Classe abstrata Método abstrato
  17. 17. Exercício  Crie uma classe Java chamada Principal, que...  Terá o método main implementado;  Irá instanciar as classes Scanner (para receber as entradas) e objetos da classe Cachorro e Gato;  Receberá a raça de cada animal;  Irá enviar os dados para cada objeto;  Irá exibir a raça e o barulho que cada animal faz; 17
  18. 18. Explore o assunto!
  19. 19. Explore o assunto! • Referências – CAELUM. Java e Orientação a Objetos. [Internet]. [citado em 2014 Feb 11]. Disponível em: https://www.caelum.com.br/apostila-java- orientacao-objetos/. 19

×