Interface

Interface

A Interface tem como objetivo a padronização de métodos para sua aplicação e o comando para representar a interface é o implements. Ela não pode ser instanciada e sim implementada por outra classe, entretanto a classe que a implementa tem que ser concreta. Uma classe pode implementar varias interfaces. A Interface extends outra interface e uma classe concreta implements uma ou mais interfaces.

A Interface é um recurso muito utilizado em Java, bem como na maioria das linguagens orientadas a objeto, para “obrigar” a um determinado grupo de classes a ter métodos ou propriedades em comum para existir em um determinado contexto, contudo os métodos podem ser implementados em cada classe de uma maneira diferente. Pode-se dizer, a grosso modo, que uma interface é um contrato que quando assumido por uma classe deve ser implementado.

Sintaxe:
public class nome_classe implements nome_interface

Onde:

  • nome_classe – Nome da classe a ser implementada.
  • nome_Interface – Nome da interface a se implementada pela classe.
  • Interface IConexao

    Apresentação nas Classes em Java

    package entity1;
    
    public interface IConexao {
    	
    	public void open() throws Exception;
    	public void close() throws Exception;
    }
    

    Interface IArquivo

    package entity1;
    
    public interface IArquivo extends Conexao {
    	
    	public void write() throws Exception;
    	
    	public String read() throws Exception;
    
    }
    

    Classe concreta ConexaoBanco

    package entity1;
    
    public class ConexaoBanco implements IConexao {
    
    	@Override
    	public void open() throws Exception {
    		System.out.println("Abrir Conexao Banco de Dados");			
    	}
    
    	@Override
    	public void close() throws Exception {
    		System.out.println("Fechar Conexao Banco de Dados");
    	}
    }    
    

    Classe concreta ConexaoArquivo

    package entity1;
    
    public class ConexaoArquivo implements IArquivo {
    
    	@Override
    	public void open() throws Exception {
    		System.out.println("Abrir Conexao Arquivo");		
    	}
    
    	@Override
    	public void close() throws Exception {
    		System.out.println("Fechar Conexao Arquivo");
    	}
    
    	@Override
    	public void write() throws Exception {
    		System.out.println("Escrever no Arquivo");
    	}
    
    	@Override
    	public String read() throws Exception {		
    		return "Ler do Arquivo";
    	}	
    }