você definir o metodo na interface implica que todos que implementarem sua interfaçe terão que fazer o metodo
a diferença da interface pra classe abstrata é que na classe abstrata , você pode definir implementações tb para seus metodos ,mas a classe não poderá ser instanciada ,mesmo assim
TedLoprao
Veja bem, uma interface serve para vc consiga definir que métodos uma classe deve possuir… Por exemplo, se vc tem uma interface x e duas classes y e z. Se y e z implementam x, vc pode atribuir y e z a uma referencia da interface x e utilizar os métodos definidos nessa interface.
Veja esse exemplo:
Nesse método vc pode passar tanto um ExportaXML quanto um ExportaTXT que o método irá funcionar…
O exemplo não foi muito bom, mas foi o que me ocorreu agora!!!
Fallow
Ironlynx
Para torná-lo genérico a várias classes se necessário for.no seu exemplo,não era necessário.Mas pode ser necessário q vc queira um método comum a várias classes e a outras não…Agora sempre q vc utilizar uma interface vc terá q implementar seus métodos(interfaces são implicitamente públicas e abstratas).Isso é um “contrato” q sua classe assina com a interface(a obrigação de implementar seus métodos).Jah classes abstract forçam a primeira subclasse concreta a inplementar seus métodos abstratos(seguindo a mesma assinatura da superclasse).
O
ozorro
q dizer: na interface, eu crio soh a assinatura, ou seja, soh o nome q eu defino e dentro da classe q eu implemento o método, defino o q ele vai fazer eh?
Ironlynx
q dizer: na interface, eu crio soh a assinatura, ou seja, soh o nome q eu defino e dentro da classe q eu implemento o método, defino o q ele vai fazer eh?
Sim.
dsiviotti
Pense nisso:
Uma interface Flyer (voador) que define método fly() (voar)
Duas classes de superclasses diferentes:
AirPlane (avião) - superclasse Vehicle (veículo)
Bird (pássaro) - superclasse Animal (animal)
Tanto AirPlane quanto Vehicle devem implementar fly(), ou seja, como voar, porém são descendentes de superclasses diferentes, por isso uma classe abastrata não serviria neste caso. Uma classe abstrata comum teria que juntar coisas como combustível e por ovo, isso não é necessário. A solução mais elegante é uma interface Fly que faz com que as classes implementem voar.
M
Makwanza
vale relembrar que todas as variaveis em uma interface sao constantes…
O
ozorro
Galera, me perdoem…mas tah difícil entender Interface, poxa…
isso eh muito complicado…
pra quem sai de VB x ASP eh brabo…