skcratch Posted February 26, 2008 at 08:27 PM Report Share #169264 Posted February 26, 2008 at 08:27 PM 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! 😉 Link to comment Share on other sites More sharing options...
magician Posted February 26, 2008 at 08:44 PM Report Share #169268 Posted February 26, 2008 at 08:44 PM À 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. I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
skcratch Posted February 26, 2008 at 09:03 PM Author Report Share #169273 Posted February 26, 2008 at 09:03 PM 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! 😉 Link to comment Share on other sites More sharing options...
Betovsky Posted February 26, 2008 at 09:18 PM Report Share #169281 Posted February 26, 2008 at 09:18 PM 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... "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
skcratch Posted February 26, 2008 at 09:37 PM Author Report Share #169289 Posted February 26, 2008 at 09:37 PM 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! 😉 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now