Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/04/2006, 15:57
Avatar de Miguel_e
Miguel_e
 
Fecha de Ingreso: junio-2004
Ubicación: Cuba
Mensajes: 108
Antigüedad: 19 años, 11 meses
Puntos: 0
Las interfaces se utilizan para brindarle un comportamiento dado a objetos que son diferentes, me explico mejor, una via de hacer esto es mediante la herencia, un ejemplo seria una aplicacion que debe hacer notificaciones, por ejemplo seria notificar a un email, a un beeper, un movil, a la misma aplicacion o a otra aplicacion, seria aconsejable tener una clase "Notificador" con un metodo que es abstracto, que seria "notificar" por llamarle de alguna manera, este metodo es comun a todos, lo que cada objeto lo implementa diferente, entonces creamos un objeto que heredaria de "Notificador" para cada nueva clase (EmailNotificador , BeeperNotificador, etc) que sobrescribiria el metodo notificar(los otros metodos se heredarian de la clase superpadre), que ventajas te da esto??? evitar repetir codigo que es comun a una familia de clases, te da la posibilidad de llamar de igual manera a un objeto y que haga acciones diferentes por ejemplo tendra una lista notificaciones pendientes que contendria n cantidad de EmailNotificador , BeeperNotificador, etc luego si quiero notificar puedo recorrer la lista llamando al metodo "notificar" y vamos recorriendo objetos llamandolos de igual manera y obtenemos diferentes comportamientos, que pasa cuando tienes una objeto que no es una notificacion sino que es algo completamente diferente pero que necesita notificar no podemos decir que esta es una especializacion de “Notificador” seria un error poner este nueva clase a heredar de “Notificador” y ahi es donde entran las interfaces las cuales no son mas que una serie de metodos que debe implementar la clase que la necesite, entonces declarariamos una interface que se llama Ej Notificar y todas las clases que necesitarian notificar entonces implementaria esta interface, esto te brinda un codigo mucho mas flexible a cambios, claridad, y permite que tus objetos se puedan relacionar de manera mejor.

Espero que haya sido capaz de explicarme de la mejor forma de todas maneras te recomiendo que estudies un poco de Programacion Orientada a Objetos esto te va a ayudar mucho sobre todo en un lenguaje que es Orientado a Objetos

salu2
miguel_e