• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

skcratch

Java - Interfaces?

5 mensagens neste tópico

Viva!

Pelo que percebi, as interfaces permitem declarar um conjunto de métodos que depois terão que ser implementados nas classes que implementam as interfaces.

Em alguns casos, essa "associação" classe-interface parece-me óbvia mas continuo sem perceber em que situações devo optar por interfaces e quais são as vantagens dessa mesma utilização.

Grato desde já pela ajuda,

Cumps!

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

À uns tempos atrás li um artigo sobre OO em que o autor dizia que POO deve ser orientada a interfaces, ou seja devemos usar o mais possível interfaces de forma a ter uma maior abstracção dos dados e a facilitar possíveis modificações e adições.

Não é algo que se se possa dizer que se usa aqui e ali é algo geral e que dependendo da situação pode ou não ser usado.

Eu normalmente utilizado em JavaBeans ou semelhantes e uso em classes que embora façam determinado serviço de forma diferente o seu resultado do processo é o mesmo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

A minha dificuldade é em identificar qual "o momento em que devo usar interfaces".

No exemplo típico das figuras (a classe base Figura nunca é instanciada tendo como classes derivadas a classe Quadrado, Triângulo, ...) devo usar interfaces, isto é, mesmo nas situações mais simples ou, pelo contrário, só devem ser aplicadas em situações mais complexas, em que não sabemos de antemão a totalidade das funcionalidades de todas as classes da nossa aplicação?

Grato desde já pela ajuda,

Cumps!

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu vejo Interfaces mais como a definição de um "protocolo" que as classes têm para comunicar entre si.

Se dizes que uma classe implementa uma dada interface, estás a dizer que a classe "responde" a certos pedidos. Ou seja, ao definires uma estruturação de interfaces estás a definir todo os processos de interacção entre as classes. Permitindo-te uma maior abstracção, focalizando na lógica do que estás a processar e não nos objectos que estás a usar para fazer a lógica.

Segundo o exemplo que deste das figuras geométricas. Podes ter perfeitamente a interface FiguraGeometrica, em que defines os métodos Area e Perimetro. E se nas tuas figuras todas (Quadrado, Triângulo, Circulo, etc) implementares a interface, se depois estiveres a processar um conjunto de figuras não te interessa saber com que figura exactamente estás a trabalhar, só precisas de saber que é uma figura geométrica e que com tal podes saber a Area e o Perimetro (ou outros métodos que aches úteis e definas na interface), fazendo com que te focalizes apenas na lógica do problema que estás a resolver e não nos objectos em si. É transparente...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Um texto simples, claro e conciso que me permitiu esclarecer praticamente todas as dúvidas (nada que um bocadinho mais de prática não resolva!).

O meu obrigado desde já a ambos pela ajuda que me prestaram.

Cumps!

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora