GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

diferença entre interface e classe abstrata


#1

ae pessoal
to iniciandi em java e to com uma dúvida...
qual eh a diferença entre uma interface e uma classe abstrata?

grato

Julio Romano


#2

Veja estes topicos:

http://www.guj.com.br/posts/list/20782.java
http://www.guj.com.br/posts/list/10477.java
http://www.guj.com.br/posts/list/17690.java
http://www.guj.com.br/posts/list/6854.java

Rafael


#3

http://www.guj.com.br/content/articles/oop/oop.pdf

Google: saving lifes since 1998! :wink:

[]'s
Marco Campêlo


#4

Há alguma semelhança entre classes abstratas e interfaces, como por exemplo: ambas exigem que você implemente métodos abstratos.

Uma diferença bem interessante é que com interfaces você pode simular herança múltipla. Você pode definir uma classe assim:

public class MyClass extends SuperClass1 
  implements Interface1, Interface2, Interface3

É um recurso poderoso em alguns momentos.


#5

valeu galera!
agora entendi!
brigadão


#6

pois é, em muitos lugares se fala que interfaces em java servem para resolver a questão da herança mulltipla.
mas isso não é verdade, pq vc não herda caracteristicas, nem funcionalidades, vc tem que implementa-las.
interfaces servem para definir um contrato que as classe que implementam devem seguir, e que ficara exposta aos outros objetos.
por isso é uma boa pratica desenvolver orientado as interfaces, e usar algo assim:

MinhaInterface obj = new MinhaClasseQueIplementaInterface();

pois os objetos que forem acessar esse objeto, so teram acesso ao contrato da interface, garantindo assim o comportamento esperado.

[]'s


#7

Um bom exemplo da utilização da interface é a maneira como trabalhamos com JDBC. Como utilizamos as interfaces, podemos mudar de driver ou de banco de dados apenas alterando o driver que é carregado. E todos os drivers implementam as interfaces do JDBC.

[]'s
Marco Campêlo


#8

isso mesmo, é um bom exemplo de uso de interface. :smiley:

[]'s


#9

Parabéns excelente exemplo agora consegui enxergar melhor interface!