Jump to content

A importância das interfaces


Gurzi
 Share

Recommended Posts

Tenho 2 questões relacionadas com estas coisas chatas.

Porque motivo dizem que as interfaces são fundamentais para o Polymorphism ??

2 º Vi um caso em que uma interface era passada como um tipo de um argumento, é isto normal ? faz Sentido ? Se sim, expliquem-me como se uma interface não passa mais de um conjunto de métodos ou fields onde os métodos nem conteúdo tem , só a sua declaração.

Obrigado

Link to comment
Share on other sites

Não és obrigado a usar Interfaces para o polimorfismo, podes usar classes abstractas, a vantagem dos interfaces é que podes implementar vários em uma classe ao contrario das classes abstractas em que apenas podes usar uma.

Realmente os interfaces não tem mais que declarações de métodos e constantes, e realmente para dizer a verdade é uma coisa que uso muito raramente e na maioria das vezes é as da API. Mas agora que falas nisso vou investigar 😉 Por acaso foi uma coisa que também nunca achei ter muita utilidade mas que na realidade parecer ser muito útil.

I haven’t lost my mind; it’s backed up on DVD somewhere!

Link to comment
Share on other sites

há certas funcionalidades em que para as usar é preciso extender uma classe ou implementar uma interface. se a tua classe já está a extender outra, e como o Java não tem herança múltipla, a única alternativa é usar as interfaces.

as interfaces surgiram precisamente para resolver o problema do Java não permitir herança múltipla.

e sim, as interface também podem ser usadas como tipos de dados. aliás, normalmente as classes já implementadas de raíz no Java, tentam ser o mais genéricas possíveis, por isso usam muitas vezes as interfaces para estes efeito, pois as interfaces ainda estão a um nível mais elevado na hierarquia do que as classes abstratas.

Link to comment
Share on other sites

Pois eu por acaso sei disso tudo mas continuo a não ver utilidade nisso lolol

Então nunca te deparaste com herança multipla, o que significa que ou resolves alguns problemas muito comuns de formas mais complicadas ou então nunca te deparaste com eles...

Interfaces é um conceito complicado de fazer perceber. Tive duas anos a cadeira de onde dou POO, no primeiro ano o trabalho prático era fazr o Xenon, garanto-te que é a hierarquia mais simples que existe, uma autêntica árvore. Muito simples. No segundo ano, quando repeti a cadeira, o trabalho era o Fury of the Furries, tenho interfaces por todo o lado, uma hieraquia muito elaborada e não consigo ver como era possível resolver o problema sem a interfaces.

Resumindo, é complicado explicar porque as pessoas estão sempre a pensar que aquilo dá para fazer com classes, e até pode dar, mas é muito mais simples fazer com interfaces. O problema é que enquanto não passarem umas horas a resolver o problema com classes e virem que podem gastar apenas alguns minutos com interfaces não vão perceber a utilidade.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.