Aula 13 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos sobre Classe Abstrata e Interface.
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
POO - Aula 13 - Classe Abstrata e Interface
1. Universidade Federal de Sergipe
Departamento de Computação
Programação Orientada a Objetos
Classe Abstrata e Interface
Felipe J. R. Vieira
Última Atualização em Novembro de 2011
2. Recapitulando
103403 – Programação Orientada a Objetos 2
3. Sumário
➢ Classe Abstrata; e
➢
Interface.
103403 – Programação Orientada a Objetos 3
4. Classes Abstratas
➢ As vezes utilizamos classes que servem apenas
para representar conceitos e economizar na
digitação de código;
➢ Desta forma podemos ter classes que nunca
serão instanciadas, estas são chamadas de
classes abstratas;
➢
Usamos a palavra-chave abstract para impedir
que ela possa ser instanciada..
103403 – Programação Orientada a Objetos 4
5. Classes Abstratas
➢Também existente métodos que são abstratos.
Estes métodos obrigam uma classe a sempre
escrever a funcionalidade do método.
➢ Ele indica que todas as classes filhas
(concretas) devem reescrever esse método ou
não compilarão.
103403 – Programação Orientada a Objetos 5
6. Interface
➢ O uso de herança aumenta o acoplamento
entre as classes (o quanto uma classe depende
da outra);
➢ Isto acaba fazendo com que o programador
das classes filhas tenham que conhecer a
implementação da classe pai e vice-versa.
103403 – Programação Orientada a Objetos 6
7. Interface
➢ Isto é um problema da herança e não do
polimorfismo;
➢Entretanto podemos resolver isto com a ajuda
das interfaces.
103403 – Programação Orientada a Objetos 7
8. Interface
➢ Interface é um “contrato” que define as
condições que uma classe deve fazer para ter
um determinado status;
➢ Ao assinar esse “contrato” a classe se
compromete a explicar como será feita certos
métodos.
103403 – Programação Orientada a Objetos 8
9. Interface
➢ Uma interface pode definir um série de
métodos, mas nunca conter implementação
deles;
➢Ela só expõe o que o objeto deve fazer, e não
como ele faz, nem o que ele tem;
➢
Como ele faz vai ser definido em uma
implementação dessa interface.
103403 – Programação Orientada a Objetos 9
10. Interface
➢ O objetivo do uso de uma interface é deixar
seu código mais flexível e possibilitar a
mudança de implementação sem maiores
dificuldades.
103403 – Programação Orientada a Objetos 10
11. Referências
➢ Java: Como Programar 6ª Edição.
➢ Material da Caelum.
103403 – Programação Orientada a Objetos 11