Interfaces

Bom dia galera
bem… gostaria de saber
na pratica qual seria a utilidade da interface
e qual seria a diferença dela pra classe abstrata

flws
:smiley: :smiley: :smiley: :smiley:

http://guj.com.br/article.show.logic?id=123

Basicamente vc pode implementar varias interfaces, porem pode extender apenas uma classe.

:smiley:

blz…
so q assim… acho q me expressei mal… mal ae.

assim… queria saber progamando em si
por que eu usaria uma interface e nao uma classe abstrata
qual seria a vantagem de usar a interface

:smiley:

flw

Ahh ta… acho q entendi…
seria como fizesse muitos contratos com uma msma classe(implementando varias interfaces)
e com a abstrata poderia fazer apenas um b[/b]

seria isso??

:smiley: :smiley: :smiley: :smiley:

Fala cara, blza?

Tem um tópico que elucida bem a sua dúvida:

http://www.guj.com.br/posts/list/39102.java

Veja se da uma ajuda.

Abraço.

e na pratica eh melhor que vc programa para interfaces, assim evita codigos duplicados e mantem o code clear. Ja que precisa fazer uma coisa so uma vez e no mesmo lugar.

Entao imagine ai que vc esta montando um modulo de financas, e este sera usado tanto pelo depto de conta a pagar quanto o de gestao financeiro, porem para cada departamento tera algumas mudancas no modulo, porem os recursos basicos serao utilizados por ambos deptos. eh recomendavel voce criar uma interface e os depto implementar essa interface e la na classe vc implementa o que nao eh comum, vc acabou de evitar a duplicacao de codigo veja como seria:

interface financiar{
void calcular(); 
void receber();
void faturamento(); 
} 

class deptoConta implements financiar{
public void calcular(){} 

public void receber(){}

public void faturamento(){} 

public void setContaCliente(int id){} 
} 

class deptoFinanceiro implements financiar{
//vc implementa os metodos da interface para essa classe. 

A diferenca que quando vc extends uma class vc recebe todos os metodos disponiveis e sim for abstract vc eh obrigado a implementar metodos que talvez nao seria relevante para aquela classe.