24/02/2016, 15:58
|
| Colaborador | | Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes Puntos: 454 | |
Respuesta: Duda relacionada con interfaces Hola:
Esa es la gracia del asunto, poder llamar al método de la interfaz y que se ejecute el método de la clase concreta que haya en la posición del array. Es lo que en orientación a objetos se conoce como polimorfismo.
Has hecho dos new, uno de CPositivo y otro de CNegativo, así que en memoria tienes dos objetos, uno CPositivo y otro CNegativo. Cuando guardas estos objetos, dentro del bucle, en una interrfaz, los objetos en memoria siguen siendo los mismos, no cambian aunque los guardes en una variable de otro tipo (una interfaz que implementen), así que cuando llamas al método imprimir() de la interfaz, se ejecuta el método del objeto que realmente hay en memoria y que está guardado en ese momento en la interfaz.
Se bueno. |