SlideShare uma empresa Scribd logo
1 de 18
INTERFACES 
Linguagem de Programação II 
Ciência da Computação 
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
INTERFACES 
• Utilidade: definir o que uma classe deve fazer mas 
não como ela o fará; 
• Definição: um conjunto de métodos que será 
implementado por uma classe; 
• Semelhantes às classes abstratas; 
• Uma interface não fornece implementação dos 
métodos que define
ASPECTOS BÁSICOS 
• Uma interface apenas especifica o que deve ser 
feito, mas não como; 
• Uma interface é uma estrutura que descreve a 
funcionalidade sem especificar uma 
implementação;
ASPECTOS BÁSICOS 
• SINTAXE: 
public interface nome{ 
método1; 
método2; 
... 
... 
... 
}
ASPECTOS BÁSICOS 
• Declarar as interfaces preferencialmente como 
public para que um número ainda mais de classes 
possa implementá-la 
• Métodos da classe interface: são como os métodos 
abstratos, possuem apenas a assintura e o tipo de 
retorno
ASPECTOS BÁSICOS 
• Nenhum método da interface deve ser 
implementado; 
• Cada classe que implementa a interface deve fazer 
a sua propria implementação dos métodos; 
• Os métodos da interface são publicos 
implicitamente
IMPLEMENTANDO UMA 
INTERFACE 
• Sintaxe: classe implementando uma interface 
Class nome_da_classe implements 
interface{ } 
• Ou ainda 
Class nome_da_classe extends 
superclasse implements interface{ } 
EXEMPLO 1
IMPLEMENTANDO UMA 
INTERFACE 
• É permitido que uma classe que implemente uma 
interface defina seus próprios membros e 
métodos; 
• Ela não fica limitada a fornecer apenas esses 
métodos, mas é obrigada a implementá-los 
também 
• EXEMPLO 2
IMPLEMENTANDO UMA 
INTERFACE 
• Uma ou mais classes diferentes podem 
implementar a mesma interface 
• Essas classes podem ser usadas da mesma 
maneira, inclusive 
• EXEMPLO 3
REFERENCIAS DE 
INTERFACES 
• Uma declaração de interface também cria um novo 
tipo de referência; 
• Quando uma classe implementa uma interface, 
está adicionando o tipo da interface ao seu tipo; 
• Uma instância de uma classe que implementa uma 
interface também é uma instância desse tipo de 
interface
REFERENCIAS DE 
INTERFACES 
• Uma variável de referencia de um tipo de interface 
pode ser criada; 
• Variável de referencia de interface: 
• pode referenciar qualquer objeto que implemente a 
interface; 
• Pode referenciar qualquer instância de seu tipo; 
• Não pode ser usada para acessar nenhuma outra 
variável ou método fornecdio por uma classe 
implementadora 
EXEMPLO 4
REFERENCIAS DE 
INTERFACES 
• Funcionalidades relacionandas podem ser 
acessadas por intermedio de uma interface comum 
• A implementação pode mudar sem afetar o código 
que usa a interface 
• Códigos adaptáveis facilmente
IMPLEMENTANDO VÁRIAS 
INTERFACES 
• Uma classe pode implementar mais de uma 
interface 
• A classe deve implementar todos os métodos de 
todas as interfaces 
• Esse recurso permite que a classe forneça várias 
funcionalidades bem definidas sem ter que usar 
herança de classes 
• EXEMPLO 5
USANDO CONSTANTES 
• Interfaces podem fazer uso de CONSTANTES e não 
de variáveis de instâncias (atributos da classe) 
• Para isso usa-se public, static e final e todas elas 
devem ser inicializadas; 
• USO: um programa grande usa várias classes 
separadas, é preciso então haver uma maneira 
conveniente de disponibilizar essas constantes 
para cada classe
USANDO CONSTANTES 
• Para definir um conjunto de constantes 
compartilhadas, é necessário criar uma interface 
apenas com as constantes, sem os métodos; 
• As classes que precisarem de acesso às constantes 
deverão apenas implementar esta interface 
• EXEMPLO 6
HERANÇA E INTERFACES 
• Uma interface pode herdar outra com o uso da 
palavra-chave extends. 
• Quando uma classe implementa uma interface que 
herda outra interface, deve fornecer implementações 
de todos os métodos definidos dentro da cadeia de 
herança das interfaces. 
• Toda e qualquer classe que implemente uma interface 
deve implementar todos os métodos definidos por ela, 
inclusive os herdados de outras interfaces 
• EXEMPLO 7
INTERFACES ANINHADAS 
• Uma interface pode ser declarada membro de 
outra interface ou de uma classe. 
• Uma interface aninhada em uma classe pode usar 
qualquer modificador de acesso e é implicitamente 
pública; 
• EXEMPLO 8
INTERFACES ANINHADAS 
• Exercícios

Mais conteúdo relacionado

Mais procurados

Mais procurados (10)

UMLet
UMLetUMLet
UMLet
 
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
 
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
 
ISP - The Interface Segregation Principle
ISP - The Interface Segregation Principle ISP - The Interface Segregation Principle
ISP - The Interface Segregation Principle
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalks
 
(ISP) - Interface Segregation Principle
(ISP)  - Interface Segregation Principle(ISP)  - Interface Segregation Principle
(ISP) - Interface Segregation Principle
 
Refatorações
RefatoraçõesRefatorações
Refatorações
 
Primeiro framework de testes automatizados
Primeiro framework de testes automatizados  Primeiro framework de testes automatizados
Primeiro framework de testes automatizados
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Conhecendo o Visual Studio 2010
Conhecendo o Visual Studio 2010Conhecendo o Visual Studio 2010
Conhecendo o Visual Studio 2010
 

Destaque

Gerência de Processos, Gerência de Memória - Sistemas Operacionais
Gerência de Processos, Gerência de Memória - Sistemas OperacionaisGerência de Processos, Gerência de Memória - Sistemas Operacionais
Gerência de Processos, Gerência de Memória - Sistemas Operacionais
Suliane Carneiro
 
Apostila arquitetura de computadores 01
Apostila arquitetura de computadores 01Apostila arquitetura de computadores 01
Apostila arquitetura de computadores 01
fernandao777
 
A memoria do computador
A memoria do computadorA memoria do computador
A memoria do computador
chryslanne
 

Destaque (20)

Arquiteturas de Computadores Paralelos
Arquiteturas de Computadores ParalelosArquiteturas de Computadores Paralelos
Arquiteturas de Computadores Paralelos
 
Array list
Array listArray list
Array list
 
Aritmética Digital
Aritmética DigitalAritmética Digital
Aritmética Digital
 
Flip Flops Parte 2
Flip Flops Parte 2Flip Flops Parte 2
Flip Flops Parte 2
 
Traçado em dispositivos gráficos matriciais circunferência
Traçado em dispositivos gráficos matriciais   circunferênciaTraçado em dispositivos gráficos matriciais   circunferência
Traçado em dispositivos gráficos matriciais circunferência
 
SQL
SQLSQL
SQL
 
JSP: Introdução Parte 2
JSP: Introdução Parte 2JSP: Introdução Parte 2
JSP: Introdução Parte 2
 
Circuitos Aritméticos
Circuitos AritméticosCircuitos Aritméticos
Circuitos Aritméticos
 
Circuitos Digitais - Revisão
Circuitos Digitais - RevisãoCircuitos Digitais - Revisão
Circuitos Digitais - Revisão
 
Traçado em dispositivos gráficos matriciais Parte 1
Traçado em dispositivos gráficos matriciais Parte 1Traçado em dispositivos gráficos matriciais Parte 1
Traçado em dispositivos gráficos matriciais Parte 1
 
JSPs Etiquetas
JSPs EtiquetasJSPs Etiquetas
JSPs Etiquetas
 
JSP: Introdução Parte 1
JSP: Introdução Parte 1JSP: Introdução Parte 1
JSP: Introdução Parte 1
 
Array List
Array ListArray List
Array List
 
Circuitos Digitais: Paridade parte 2
Circuitos Digitais: Paridade parte 2Circuitos Digitais: Paridade parte 2
Circuitos Digitais: Paridade parte 2
 
Conjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvioConjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvio
 
Circuitos Digitais: Portas Lógicas parte 2
Circuitos Digitais: Portas Lógicas parte 2Circuitos Digitais: Portas Lógicas parte 2
Circuitos Digitais: Portas Lógicas parte 2
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memórias
 
Gerência de Processos, Gerência de Memória - Sistemas Operacionais
Gerência de Processos, Gerência de Memória - Sistemas OperacionaisGerência de Processos, Gerência de Memória - Sistemas Operacionais
Gerência de Processos, Gerência de Memória - Sistemas Operacionais
 
Apostila arquitetura de computadores 01
Apostila arquitetura de computadores 01Apostila arquitetura de computadores 01
Apostila arquitetura de computadores 01
 
A memoria do computador
A memoria do computadorA memoria do computador
A memoria do computador
 

Semelhante a Interfaces

Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
Regis Magalhães
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
Anderson Ledo
 
Script c
Script cScript c
Script c
Raphael
 

Semelhante a Interfaces (20)

[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca [Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
 
Pacotes
PacotesPacotes
Pacotes
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2
 
Programação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptxProgramação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptx
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Java11
Java11Java11
Java11
 
Aula 04 - Classe Abstrata e Interface.pptx
Aula 04 - Classe Abstrata e Interface.pptxAula 04 - Classe Abstrata e Interface.pptx
Aula 04 - Classe Abstrata e Interface.pptx
 
Revisão de C# 4.0
Revisão de C# 4.0Revisão de C# 4.0
Revisão de C# 4.0
 
Java Básico :: Modificadores de acesso
Java Básico :: Modificadores de acessoJava Básico :: Modificadores de acesso
Java Básico :: Modificadores de acesso
 
Clean code em C#
Clean code em C#Clean code em C#
Clean code em C#
 
SCJP
SCJPSCJP
SCJP
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
 
Script c
Script cScript c
Script c
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Herança
HerançaHerança
Herança
 

Mais de Elaine Cecília Gatto

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
LeloIurk1
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
WagnerCamposCEA
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 

Último (20)

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
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
 
praticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médiopraticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médio
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 

Interfaces

  • 1. INTERFACES Linguagem de Programação II Ciência da Computação Prof.ª M.ª Eng.ª Elaine Cecília Gatto
  • 2. INTERFACES • Utilidade: definir o que uma classe deve fazer mas não como ela o fará; • Definição: um conjunto de métodos que será implementado por uma classe; • Semelhantes às classes abstratas; • Uma interface não fornece implementação dos métodos que define
  • 3. ASPECTOS BÁSICOS • Uma interface apenas especifica o que deve ser feito, mas não como; • Uma interface é uma estrutura que descreve a funcionalidade sem especificar uma implementação;
  • 4. ASPECTOS BÁSICOS • SINTAXE: public interface nome{ método1; método2; ... ... ... }
  • 5. ASPECTOS BÁSICOS • Declarar as interfaces preferencialmente como public para que um número ainda mais de classes possa implementá-la • Métodos da classe interface: são como os métodos abstratos, possuem apenas a assintura e o tipo de retorno
  • 6. ASPECTOS BÁSICOS • Nenhum método da interface deve ser implementado; • Cada classe que implementa a interface deve fazer a sua propria implementação dos métodos; • Os métodos da interface são publicos implicitamente
  • 7. IMPLEMENTANDO UMA INTERFACE • Sintaxe: classe implementando uma interface Class nome_da_classe implements interface{ } • Ou ainda Class nome_da_classe extends superclasse implements interface{ } EXEMPLO 1
  • 8. IMPLEMENTANDO UMA INTERFACE • É permitido que uma classe que implemente uma interface defina seus próprios membros e métodos; • Ela não fica limitada a fornecer apenas esses métodos, mas é obrigada a implementá-los também • EXEMPLO 2
  • 9. IMPLEMENTANDO UMA INTERFACE • Uma ou mais classes diferentes podem implementar a mesma interface • Essas classes podem ser usadas da mesma maneira, inclusive • EXEMPLO 3
  • 10. REFERENCIAS DE INTERFACES • Uma declaração de interface também cria um novo tipo de referência; • Quando uma classe implementa uma interface, está adicionando o tipo da interface ao seu tipo; • Uma instância de uma classe que implementa uma interface também é uma instância desse tipo de interface
  • 11. REFERENCIAS DE INTERFACES • Uma variável de referencia de um tipo de interface pode ser criada; • Variável de referencia de interface: • pode referenciar qualquer objeto que implemente a interface; • Pode referenciar qualquer instância de seu tipo; • Não pode ser usada para acessar nenhuma outra variável ou método fornecdio por uma classe implementadora EXEMPLO 4
  • 12. REFERENCIAS DE INTERFACES • Funcionalidades relacionandas podem ser acessadas por intermedio de uma interface comum • A implementação pode mudar sem afetar o código que usa a interface • Códigos adaptáveis facilmente
  • 13. IMPLEMENTANDO VÁRIAS INTERFACES • Uma classe pode implementar mais de uma interface • A classe deve implementar todos os métodos de todas as interfaces • Esse recurso permite que a classe forneça várias funcionalidades bem definidas sem ter que usar herança de classes • EXEMPLO 5
  • 14. USANDO CONSTANTES • Interfaces podem fazer uso de CONSTANTES e não de variáveis de instâncias (atributos da classe) • Para isso usa-se public, static e final e todas elas devem ser inicializadas; • USO: um programa grande usa várias classes separadas, é preciso então haver uma maneira conveniente de disponibilizar essas constantes para cada classe
  • 15. USANDO CONSTANTES • Para definir um conjunto de constantes compartilhadas, é necessário criar uma interface apenas com as constantes, sem os métodos; • As classes que precisarem de acesso às constantes deverão apenas implementar esta interface • EXEMPLO 6
  • 16. HERANÇA E INTERFACES • Uma interface pode herdar outra com o uso da palavra-chave extends. • Quando uma classe implementa uma interface que herda outra interface, deve fornecer implementações de todos os métodos definidos dentro da cadeia de herança das interfaces. • Toda e qualquer classe que implemente uma interface deve implementar todos os métodos definidos por ela, inclusive os herdados de outras interfaces • EXEMPLO 7
  • 17. INTERFACES ANINHADAS • Uma interface pode ser declarada membro de outra interface ou de uma classe. • Uma interface aninhada em uma classe pode usar qualquer modificador de acesso e é implicitamente pública; • EXEMPLO 8