UCSal – Bacharelado em Informática
Tópicos Especiais em Informática II
Profa. Semíramis Assis
2015.2
Classes Abstratas




Classes
genéricas
que
ditam
o
comportamento das classes filhas, induzindo
as mesmas a implementar seus métodos.
Não é possível criar instâncias de classes
abstratas, apenas das filhas dela.
Métodos somente são implementados nas
classes filhas.
Servem de guia para as classes filhas
saberem
quais
métodos
devem
ser
implementados.
Classes Abstratas x Métodos Abstratos




Métodos abstratos possuem apenas a
definição de sua assinatura, sem nenhuma
implementação na classe pai.
Classes filhas são obrigadas a implementar
todos os métodos abstratos da classe pai.
Classe que contenha pelo menos um método
abstrato é, obrigatoriamente, uma classe
abstrata.
Classes abstratas podem ter apenas métodos
não abstratos ou um misto de métodos
abstratos e não abstratos.
Classe Abstrata
• Exemplo de classe abstrata com métodos abstratos:
Classe Abstrata
• Exemplo de classe que herda de uma classe abstrata:
Exercício!




Criar a classe abstrata Arvore com os
métodos abstratos defineNomeFruto e
calculaEpocaFloracao
e
os
atributos
nomePopular, nomeCientifico e especie.
Criar a classe Jambeiro, filha de Arvore.
Criar a classe Jaqueira, filha de Arvore.
Implementar de forma diferente os métodos
abstratos nas duas classes filhas.
Interfaces




São classes nas quais TODOS os métodos são
abstratos.
Possui comportamento semelhante às classes
abstratas, ou seja, não é possível instanciar
uma interface.
Métodos não podem ser declarados como
protected ou private, apenas como public.
Interfaces podem herdar de outras interfaces,
mas não de classes.
Interfaces
• Exemplo de Classe que implementa uma interface:
Interfaces
• Classes podem herdar de outra classe e implementar uma interface:
Exercícios




Criar
interface
Felino
com
métodos
atacaCaca, qtdFilhotesCria, turnoCaca.
Criar classe abstrata Pantera que implementa
interface Felino e contém os métodos
tipoPantera
(não
abstrato)
e
velocidadeMaxima (abstrato).
Criar classe Tigre que é filha de Pantera. No
método tipoPantera colocar Tigre.
Criar classe Principal com método main, que
invoque
os
métodos
tipoPantera
e
velocidadeMaxima.
Exercícios



Criar interface Niquel com métodos
setPeso,
getPeso,setUnidade,
getUnidade.
Criar interface Moeda que vai herdar de
Niquel
e
conterá
os
métodos
qtdProduzidaValor, simboloMoeda.
Criar classe Real que irá implementar
interface Moeda.
Download

POO_aula11_12