Abstract ou interface?

6 respostas
C

Qual a diferença entre as duas?
até agora não sei quando é melhor usar uma ou outra :shock:

6 Respostas

Jair_Rillo_Junior

Assunto bastante discutido no fórum, faz uma pesquisa que certamente irá encontrar o que você precisa :lol:

T

Prefira usar interface a classe abstrata.

Só é vantagem usar uma classe abstrata quando você precisa “engessar” seu design de propósito.

Acho que você pode achar uma discussão dessas aqui mesmo no GUJ.

jvlouvem

Uma classe abstrata não pode ser instanciada diretamente, voce só pode estende-la.

Uma interface, oferece metodos sem implementacao. A classe que voce quiser que a implemente terá a assinatura dos metodos da interface e com sua implementação própria.

Métodos abstract fazem o que a interface faz, que é fornecer a assinatura do método para quem(Classe) quiser implementar a sua maneira.

ViniGodoy

Se você está com preguiça de procurar, dá uma olhada nesse tópico, que tem uma explicação beeem completa sobre o assunto:
http://www.guj.com.br/posts/list/51866.java#273117

Veja a discussão toda, não só esse tópico. Há muito mais explicações por lá.

R

Bom ai vai depender do que sua aplicação precisar.
interface
Para usar interface pense que é um contrato para realizar algo. tipo, para realizar classes DAO para sua aplicação
é bom ter uma interface mostrando todos os métodos necessários para que a aplicação possa realizar o que for preciso para se conectar ao banco.

classe abstrata

ex.: se sua aplicação precisa de pessoa física e pessoa juridica, entao vc pode criar uma classe abstrata Pessoa e fazer com que as outras duas extenda pessoa. Pois uma pessoa fisica é uma pessoa e uma pessoa juridica tb é uma pessoa. O que vai definir o tipo de pessoa sera na hora da instanciacao

Pessoa pf = new PessoaFisica();

Pessoa pj = new PessoaJuridica();

Espero ter ajudado. Porem vc precisa pesquisar para aprender mais ok.
Qualquer dúvida o fórum esta aqui para lhe ajudar . Até mais!

diegosantiviago

Uma coisa é uma coisa, outra coisa é outra coisa.

Criado 10 de fevereiro de 2009
Ultima resposta 10 de fev. de 2009
Respostas 6
Participantes 7