Essá é básica mesmo : :mrgreen:
como posso entender a diferença entre uma Class e uma Interface ?
Uma Interface apenas define a estrutura de métodos e a classe implementa efetivamente estes métodos ?
Essá é básica mesmo : :mrgreen:
como posso entender a diferença entre uma Class e uma Interface ?
Uma Interface apenas define a estrutura de métodos e a classe implementa efetivamente estes métodos ?
Eh, pode ser definido assim 
Rafael
Exemplo de uso de interface…
public interface Busca {
// metodos da interface...
boolean find(...);
...
}
public class BuscaSequencial implements Busca {
// implementacao dos metodos definidos em Busca...
public boolean find(...);
...
}
public class BuscaBinaria implements Busca {
// implementacao dos metodos definidos em Busca...
// mas com implementacao diferente de B
public boolean find(...);
...
}
public class MeuPrograma{
public void executaBusca(Busca b){
b.find(...);
}
public static void main(String [] args){
Busca bSeq = (Busca) new BuscaSequencial(...);
Busca bBin = (Busca) new BuscaBinaria(...);
executaBusca(bSeq);
executaBusca(bBin);
}
}
Como vc pode ver, a interface serve para que objetos que tenham os mesmos metodos sejam tratados como do mesmo tipo! Na funcao “executaBusca”, sabemos que recebemos um objeto que implementa os metodos da interface “Busca”, mas nao sabemos qual objeto recebemos, se eh do tipo “BuscaSequencial” ou “BuscaBinaria”. Mas isso nao importa, pq o que queremos eh que o objeto tenha o metodo “find()” para que possamos executa-lo!
Maravilha ! Consegui entender a idéia !
Valeu !
pense como se fosse uma interface física
Um celular tem uma interface, certo? tem os botoezinhos.
Todo celular tem os botoezinhos, mas o que eles fazem, pode variar de modelo pra modelo. Mas desde que você saiba como eh a interface, voce nao precisa se importar COMO ele faz, e sim O QUE ele faz.
ótimo exemplo,
todos os que eu ja vi explicando isto utilizam um carro como exemplo 
tipo,
a interface Carro especifica que o carro tem direção
você sabe que todo o carro que você dirigir vai ter direção 
mas direcao eh um pessimo exemplo pra interface, ja que uma interface nao pode ter atributos a nao ser q sejam final static
esse exmplo de carro (ou melhor, veiculo) eh usado para classes abstratas
Fala Leonardo…
O exemplo do FLC caiu bem mas você precisa de um exemplo onde é inevitável utilizar uma interface.
Interface é a bola no maracanã que faz a conexão entre dois times…
Uma boa para utilizar interface é quando você está trabalhando com algum protocolo de rede e que é necessário manipular eventos jogados pelo servidor…
Neste caso você teria 2 classes e uma interface.
1 dos objetos é a thread que lê tudo que o servidor envia formata isso e manda o evento, o outro é o objeto que faz a ação enviando para o usuário…
então a interface só conteria métodos das ações como por exemplo: seDerErro(String erro);
a Thread dispara e o primeiro objeto faz a ação…
Então as duas classes teria de ter todos estes métodos porém com outras finalidades…
E em outra interface poderia ficar todas as constantes utilizadas( mais utilizado quando temos muitas constantes e faz com que o software fique mais estruturado).
T+
Alguém sabe se este tipo de interface é a mesma utilizada na UML? Por exemplo, aprendi na faculdade que na interface vão os métodos da tela que interage com o usuário e o controlador do objeto, segue exemplo de uma agenda de contatos:
Interface:
Metodo Exibir
Metodo Fechar
Metodo Carregar ListBox
.
.
.
Controlador
Solicitar Lista de nomes
Solicitar Gravação de nomes
.
.
.
Agenda
Inserir novo nome
Atualizar nome
Excluir nome
Tem algo em relação à isso? Acredito que na faculdade os professores possuem diferentes opiniões, pois o professor de programação ensina de uma forma e o de análise de sistemas ensina de outra forma.