SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Pacotes e Interfaces
Pacotes

●   Organização
●   Problema de classes com o mesmo nome
●   Pacotes estão diretamente relacionado a estrutura de
    pastas
●   Pacotes devem agrupar classes similares ou relacionadas
●   Nome real de uma classe tem o nome do pacote incluso
●   Ex:
      java.util.Date
      java.sql.Date
Pacotes

●   Uma classe deve se encontrar no mesmo diretorio que a
    define
●   A palavra package (pacote) define o nome do pacote e uma
    Classe
●   Para usar uma classe que se encontra no mesmo pacote,
    basta usa-la normalmente. Se ela estiver em um outro
    pacote um import deve ser declarado após o nome do
    package (pacote).
Convenções

●   Pacotes: nomedopacote.minusculo
●   Classes: NomeDaClasse
●   Metodos e atributos: nomeDoMetodoOuAtributo
Interfaces

●   Interface é um recurso da orientação a objeto utilizado em
    Java que define ações que devem ser obrigatoriamente
    executadas, mas que cada classe pode executar de forma
    diferente.
●   Interfaces contém valores constantes ou assinaturas de
    métodos que devem ser implementados dentro de uma
    classe.
●   Uma interface não é herdada, mas sim, implementada.
●   Diferente da herança, onde uma classe só pode estender
    de outra classe, uma classe pode implementar uma ou mais
    interfaces.
Exemplo Interface
Exemplo Interface
Exemplo Interface
Exemplo Interface

●   Essa seria uma solução boa? Por que?
Exemplo Interface

●   Uma boa saída
Exemplo Interface

●   NOVO REQUISITO: Clientes também precisam logar no
    sistema. Como fazer?
Exemplo Interface

●   Saída elegante:
Exemplo Interface

●   Finalmente:
Conceito Interfaces
Interfaces

●   Uma boa pratica ao se programar OO é preferir o uso de
    interfaces por composição à herança.
●   James Gosling:
    “Rather than subclassing, just use pure interfaces. It’s not so
    much that class inheritance is particularly bad. It just has
    problems.”
Mais Exemplos

●   Trajetorias
●   N-puzzle:
    http://n-puzzle.googlecode.com/files/n-puzzle-all-1.1.2.jar
Duvidas?

Weitere ähnliche Inhalte

Was ist angesagt?

Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
Regis Magalhães
 

Was ist angesagt? (19)

Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Solid / DRY Princípios
Solid / DRY PrincípiosSolid / DRY Princípios
Solid / DRY Princípios
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste você
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
 
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPPHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
 
Reaproveitamento de código com Generics
Reaproveitamento de código com GenericsReaproveitamento de código com Generics
Reaproveitamento de código com Generics
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Orientação a objetos com PHP
Orientação a objetos com PHPOrientação a objetos com PHP
Orientação a objetos com PHP
 
Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDD
 
Teste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiTeste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta Jabuti
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Teste baseado em modelos
Teste baseado em modelosTeste baseado em modelos
Teste baseado em modelos
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
 

Andere mochten auch (9)

10 io
10 io10 io
10 io
 
9 collections-ii
9 collections-ii9 collections-ii
9 collections-ii
 
13 banco-de-dados
13 banco-de-dados13 banco-de-dados
13 banco-de-dados
 
11 sockets
11 sockets11 sockets
11 sockets
 
6 excecoes
6 excecoes6 excecoes
6 excecoes
 
8 collections-i
8 collections-i8 collections-i
8 collections-i
 
12 threads
12 threads12 threads
12 threads
 
Presentation warehose management
Presentation warehose managementPresentation warehose management
Presentation warehose management
 
2 si l_u
2 si l_u2 si l_u
2 si l_u
 

Ähnlich wie 7 interfaces

Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
Denis L Presciliano
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
jmtofoli
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++
Sérgio Souza Costa
 

Ähnlich wie 7 interfaces (20)

Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Refatorações
RefatoraçõesRefatorações
Refatorações
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Java primeiros-passos
Java primeiros-passosJava primeiros-passos
Java primeiros-passos
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Baixo acoplamento e alta coesão no paradigma Orientado a Objetos
Baixo acoplamento e alta coesão no paradigma Orientado a ObjetosBaixo acoplamento e alta coesão no paradigma Orientado a Objetos
Baixo acoplamento e alta coesão no paradigma Orientado a Objetos
 
Java11
Java11Java11
Java11
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Pacotes em Java
Pacotes em JavaPacotes em Java
Pacotes em Java
 
Refatoração
RefatoraçãoRefatoração
Refatoração
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.
 
Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova
 
Livro Código limpo: Classes
Livro Código limpo:  ClassesLivro Código limpo:  Classes
Livro Código limpo: Classes
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
 

Kürzlich hochgeladen

PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
edelon1
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
Ana Lemos
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
azulassessoria9
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 

Kürzlich hochgeladen (20)

PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 

7 interfaces

  • 2. Pacotes ● Organização ● Problema de classes com o mesmo nome ● Pacotes estão diretamente relacionado a estrutura de pastas ● Pacotes devem agrupar classes similares ou relacionadas ● Nome real de uma classe tem o nome do pacote incluso ● Ex: java.util.Date java.sql.Date
  • 3. Pacotes ● Uma classe deve se encontrar no mesmo diretorio que a define ● A palavra package (pacote) define o nome do pacote e uma Classe ● Para usar uma classe que se encontra no mesmo pacote, basta usa-la normalmente. Se ela estiver em um outro pacote um import deve ser declarado após o nome do package (pacote).
  • 4. Convenções ● Pacotes: nomedopacote.minusculo ● Classes: NomeDaClasse ● Metodos e atributos: nomeDoMetodoOuAtributo
  • 5. Interfaces ● Interface é um recurso da orientação a objeto utilizado em Java que define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente. ● Interfaces contém valores constantes ou assinaturas de métodos que devem ser implementados dentro de uma classe. ● Uma interface não é herdada, mas sim, implementada. ● Diferente da herança, onde uma classe só pode estender de outra classe, uma classe pode implementar uma ou mais interfaces.
  • 9. Exemplo Interface ● Essa seria uma solução boa? Por que?
  • 10. Exemplo Interface ● Uma boa saída
  • 11. Exemplo Interface ● NOVO REQUISITO: Clientes também precisam logar no sistema. Como fazer?
  • 12. Exemplo Interface ● Saída elegante:
  • 13. Exemplo Interface ● Finalmente:
  • 15. Interfaces ● Uma boa pratica ao se programar OO é preferir o uso de interfaces por composição à herança. ● James Gosling: “Rather than subclassing, just use pure interfaces. It’s not so much that class inheritance is particularly bad. It just has problems.”
  • 16. Mais Exemplos ● Trajetorias ● N-puzzle: http://n-puzzle.googlecode.com/files/n-puzzle-all-1.1.2.jar