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

Interfaces

  • 1.
    INTERFACES Linguagem deProgramaçã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
  • 18.