Sobre Interfaces e Classes Abstratas

7 respostas
lucao

Eu estava estudando OO, e fiquei pensando qual a diferença entre criar uma interface e implementar, e criar uma classe abstrata e sobrescrever seus métodos ? No final não daria na mesma ?
Desculpem se a pergunta foi boba.
Obrigado

7 Respostas

Shelson

numa interface todos os métodos já são implicitamente abstratos.

em java, vc não pode extender mais de 1 uma classe, mas vc pode implementar quantas interfaces quiser.

Rafael_Nunes

Uma discussão bem legal sobre isso:
http://www.guj.com.br/posts/list/27385.java

Jair_Rillo_Junior

lucao:
Eu estava estudando OO, e fiquei pensando qual a diferença entre criar uma interface e implementar, e criar uma classe abstrata e sobrescrever seus métodos ? No final não daria na mesma ?
Desculpem se a pergunta foi boba.
Obrigado

Além de que em classes abstratas você pode abstrair alguns métodos para serem implementados em outras classes e também pode implementar outros métodos. A desvantagem é que você só pode extender 1 classe abstrata enquanto você pode implementar várias interfaces

zica

mais vantagens em usar interfaces nesta discussão

lucao

E o q eh a pogramação voltada a interface ao invez da implementação ? até hj estou boiando nesses assuntos

Java_Vinicius_Machin

Usando classes abstratas tu consegue um comportamento padrão, assim:

abstract class Programador {

   public String getComportamentoPadrao()
   {
      return "acessar o GUJ pelo menos uma vez por dia!";
   }

   public abstract void comer();
   public abstract void estudar1();
   public abstract void estudar2();
   public abstract void estudar3();
   public void diversao() {
      estudar1();
   }
}

Neste caso a nossa classe abstrata acima daria uma força pra gente nos fornecendo um comportamento “considerado normal”. Usando interfaces isso não seria possível, ou seja, não poderiamos definir um comportamento padrão.
{}´s :wink:

deniswsrosa

muito bem observado!!! outra coisa fantástica do emcapsulamento q até pouco tempo eu boiava é para q serve o uso de interfaces… ateh que vi um emcapsulamento muito bem feito num projeto… basicamente vc pode usar a interface para acesar os métodos de uma classe q a implementa… porem vc só pode acessar os métodos q forma definidos na interface… por exemplo[quote]
supondo q vc possui uma interface ‘SerVivo’ que possui o método ‘Comer’ e uma classe q a implemeta chamada ‘Animal’ q possua os métodos ‘Comer’ e ‘Caçar’, ao estanciar a classe ‘Animal’ através de sua interface vc só poderia acessar o método ‘Comer’… isso é bom pra evitar q alguem use métodos indevidos!!! :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:

Criado 16 de agosto de 2005
Ultima resposta 17 de ago. de 2005
Respostas 7
Participantes 7