Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • En Java, el propósito de una interface no es lograr heréncia múltiple (que no la logra), sino generar tipos de datos.

    Si quiero reutilizar mi código y decir que mi clase A es un caso particular de la clase B, entonces uso herencia (siendo la clase B abstracta o concreta, da igual).

    Ahora bien, si quiero decir "este objeto de la clase A es polimórfico a este de la clase B, pero su comportamiento no es similar" (es decir, mismo qué pero independientes cómos), ahí uso una interface...

    El único propósito es lograr que el compilador no chille.
    [ Padre ]
  • Ahora bien, si quiero decir "este objeto de la clase A es polimórfico a este de la clase B, pero su comportamiento no es similar" (es decir, mismo qué pero independientes cómos), ahí uso una interface...
    Si te refieres a que los objetos de A y B deben poder ser usados indistintamente en ciertos algoritmos polimórficos, entonces A y B deben implementar una misma interfaz C, por ejemplo, usada en los citados algoritmos. El problema está en que en tu párrafo anterior explicabas que una clase A derivaba de otra B, lo cual es muy distinto de que ambas deriven de otra.

    Como decían por ahí, sólo hace falta usar herencia en vez de interfaces cuando realmente se necesite colocar en la clase base una parte del comportamiento común a todas las clases derivadas.
    [ Padre ]