SlideShare uma empresa Scribd logo
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
Recapitulando




         103403 – Programação Orientada a Objetos   2
Sumário



  ➢   Classe Abstrata; e

  ➢
      Interface.




               103403 – Programação Orientada a Objetos   3
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
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
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
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
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
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
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
Referências


  ➢   Java: Como Programar 6ª Edição.

  ➢   Material da Caelum.




              103403 – Programação Orientada a Objetos   11

Mais conteúdo relacionado

PDF
POO - Aula 04 - Introdução a classes e objetos
PDF
POO - Aula 09 - Herança
PDF
Classes abstratas e interfaces
ODP
Java 10 Classes Abstratas Interfaces
PDF
POO - Aula 07 - Construtores e Atributos de Classe
PDF
POO - Aula 06 - Modificadores de Acesso
PDF
Curso de OO com C# - Parte 01 - Orientação a objetos
PDF
Curso de OO com C# - Parte 03 - Plataforma .NET
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 09 - Herança
Classes abstratas e interfaces
Java 10 Classes Abstratas Interfaces
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 06 - Modificadores de Acesso
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 03 - Plataforma .NET

Mais procurados (20)

PDF
Java - Aula 2 - Orientado a Objetos
PDF
Revisão Sobre Programação Orientada a Objetos com Java
PPT
Java Básico :: Modificadores de acesso
PPTX
Programação Orientada a Objetos - Uso da O.O. em Java
PDF
Apostila de Introdução a POO com C#
PPTX
Java: Classes Abstratas, Anônimas, Interface
PPT
Algoritmos Aula 03
PPTX
Construtores em Java
PDF
Exercícios de programação orientado a objeto
PPTX
Curso Básico de Java - Aula 9
PPT
Herança
PPTX
Programação Orientada a Objetos
PPTX
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
PDF
HERANÇA - Programação Orientada a Objetos JAVA
PDF
Listas (parte 2 de 3)
PDF
Programação orientada a objetos – II
PPTX
Semana 3: Introdução à linguagem de programação Java
Java - Aula 2 - Orientado a Objetos
Revisão Sobre Programação Orientada a Objetos com Java
Java Básico :: Modificadores de acesso
Programação Orientada a Objetos - Uso da O.O. em Java
Apostila de Introdução a POO com C#
Java: Classes Abstratas, Anônimas, Interface
Algoritmos Aula 03
Construtores em Java
Exercícios de programação orientado a objeto
Curso Básico de Java - Aula 9
Herança
Programação Orientada a Objetos
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
HERANÇA - Programação Orientada a Objetos JAVA
Listas (parte 2 de 3)
Programação orientada a objetos – II
Semana 3: Introdução à linguagem de programação Java
Anúncio

Destaque (20)

PDF
Java orientação a objetos (interfaces)
PPTX
Programação orientada a objetos
PDF
POO - 17 - Interfaces
PDF
POO - 16 - Polimorfismo
PPTX
Especialização e generalização em java
PPTX
PCII - AULA 2: HERANÇA EM JAVA
PDF
05 poo-ii
PDF
POO - 18 - Sobrecarga e Sobreposição de Métodos
PDF
POO - 24 - Classes Básicas do Java - Datas
PDF
Java orientação a objetos (associacao, composicao, agregacao)
PDF
Programação orientada a objetos: herança
PPT
Classes Java , JDBC / Swing / Collections
PDF
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
PDF
POO - 01 - Introdução ao Paradigma Orientado a Objetos
PPTX
Herança e polimorfismo em Java
PDF
Aula 02 - Principios da Orientação a Objetos (POO)
PDF
POO - Aula 10 - Polimorfismo
PPTX
JAVA - Orientação a Objetos
Java orientação a objetos (interfaces)
Programação orientada a objetos
POO - 17 - Interfaces
POO - 16 - Polimorfismo
Especialização e generalização em java
PCII - AULA 2: HERANÇA EM JAVA
05 poo-ii
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 24 - Classes Básicas do Java - Datas
Java orientação a objetos (associacao, composicao, agregacao)
Programação orientada a objetos: herança
Classes Java , JDBC / Swing / Collections
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Herança e polimorfismo em Java
Aula 02 - Principios da Orientação a Objetos (POO)
POO - Aula 10 - Polimorfismo
JAVA - Orientação a Objetos
Anúncio

Semelhante a POO - Aula 13 - Classe Abstrata e Interface (20)

PPTX
Opa tudo bem?vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
PPTX
Interface
ODP
Construção de Frameworks com Annotation e Reflection API em Java
PPTX
Mediator Padrão de Projeto
PPTX
DNAD 2009 - Injeção de Dependência (por Leandro Daniel)
PDF
Aula de Introdução - JAVA
PDF
Aula de Introdução - JAVA
PPTX
Revisão de C# 4.0
PPT
Modelagem de sistemas
PPT
Gof design patterns
DOCX
DOC
Programação concorrente
PDF
Conhecendo o Spring
PPT
Java aula 2
PDF
53392229 apostila-de-algoritmo-2009
PPTX
Paradigma de orientação a objetos -
PDF
Cap02
PDF
Cap02
PDF
Cap02
PDF
Componentes Transformers: Combinando o melhor de cada framework
Opa tudo bem?vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Interface
Construção de Frameworks com Annotation e Reflection API em Java
Mediator Padrão de Projeto
DNAD 2009 - Injeção de Dependência (por Leandro Daniel)
Aula de Introdução - JAVA
Aula de Introdução - JAVA
Revisão de C# 4.0
Modelagem de sistemas
Gof design patterns
Programação concorrente
Conhecendo o Spring
Java aula 2
53392229 apostila-de-algoritmo-2009
Paradigma de orientação a objetos -
Cap02
Cap02
Cap02
Componentes Transformers: Combinando o melhor de cada framework

Mais de Felipe J. R. Vieira (20)

PDF
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
PDF
MC – Aula 11 – Aplicativos
PDF
MC – Aula 10 – Sistemas Operacionais
PDF
MC – Aula 09 – Sistemas Operacionais (Introdução)
PDF
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
PDF
ICC – Aula 09 – Estrutura de Repetição
PDF
MC - Aula 05 - Memória e Dispositivos de Armazenamento
PDF
ICC – Aula 07 – Condicional Múltipla
PDF
POO - Aula 05 - Referências e Vetores
PDF
MC – Aula 04 – Unidade central de processamento e Memória
PDF
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
PDF
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
PDF
MC - Aula 03 - Conceitos Iniciais
PDF
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
PDF
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
PDF
MC - Aula 02 - Histórico da Computação
PDF
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
PDF
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
PDF
MC - Aula 01 - Plano de Ensino e Histórico da Computação
PDF
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
MC – Aula 11 – Aplicativos
MC – Aula 10 – Sistemas Operacionais
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
ICC – Aula 09 – Estrutura de Repetição
MC - Aula 05 - Memória e Dispositivos de Armazenamento
ICC – Aula 07 – Condicional Múltipla
POO - Aula 05 - Referências e Vetores
MC – Aula 04 – Unidade central de processamento e Memória
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
MC - Aula 03 - Conceitos Iniciais
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
MC - Aula 02 - Histórico da Computação
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
MC - Aula 01 - Plano de Ensino e Histórico da Computação
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