Foros del Web » Programación para mayores de 30 ;) » Programación General »

Aplicar Interfaces (Implements)

Estas en el tema de Aplicar Interfaces (Implements) en el foro de Programación General en Foros del Web. Hola, mi nombre es jorge y tengo un serio problema, aunque, espero, no imposible de resolver. Hace ya varios años que programo en visual basic ...
  #1 (permalink)  
Antiguo 01/03/2006, 15:10
 
Fecha de Ingreso: abril-2005
Ubicación: Ramos Mejía
Mensajes: 113
Antigüedad: 19 años, 7 meses
Puntos: 0
Aplicar Interfaces (Implements)

Hola, mi nombre es jorge y tengo un serio problema, aunque, espero, no imposible de resolver.

Hace ya varios años que programo en visual basic y no logro comprender la verdadera utilidad o aplicabilidad de las interfaces Múltiples. Ustedes saben a lo que me refiero: La famosa instrucción Implements.

Claro está que a lo largo de estos años he leído y escuchado de las maravillosas bondades de este sistema de programación orientada a Interfaces múltiples. Pero sinceramente, no he logrado encontrar el punto en donde pueda hacer realidad tales maravillas.

De hecho, cada vez que me he propuesto aplicar eso terminé por rendirme luego de infructuosos intentos de concebir algo lógico, estructurado y palpablemente aplicable.

Si alguno de Ustedes conoce las bondades de implementar interfaces y puede compartir conmigo ejemplos de nivel, claros y en los que se puedan apreciar las ventajas de hacer las cosas de este modo, se lo voy a agradecer heternamente.

Aclaro que conozco a la perfección la Herencia y el polimorfismo. Tampoco quiero ejemplos de Tiranosaurios, Pulgas y animales que son Hereditarios por concepto y nada tienen que ver con los conceptos de implementación.

Muchas gracias y espero que alguien arroje (implemente) alguna luz sobre esta penumbra.

Un programador "Poco ilustrado". Tal como me definen los artículos que separan a la Elite de programadores capaces de decidir entre usar Programación tradicional (para principiantes y curiosos) y la verdadera y milagrosa Implementación de Interfaces Múltiples (lo cool, lo Pro, lo nuevo)

Please. No me dejen en el tiempo.
Gracias
  #2 (permalink)  
Antiguo 01/03/2006, 18:05
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 11 meses
Puntos: 38
Hola jorgelujanm.

Te puedo citar dos sitios donde creo son necesarias (mas que convenientes) las interfaces, de seguro alguien mas instruido podrá aportarnos mas.

Cuando programas Web Services (al menos en Delphi), lo que haces es publicar una serie de funciones para que puedan ser usadas por terceras personas (sin importar el lenguaje ni el S.O.). De esta manera, tu le dices al mundo que tu servidor es capaz de responder a los métodos A, B y C, siempre y cuando reciba los parámetros K, L, M y N, etcétera.

Esa definición no es otra cosa que una interfase que habrá de ser implementada por el que desarrolle el servidor, y que habrá de ser utilizada por el que pretenda enlazar con tales métodos.

En Delphi, por ejemplo, si tu mismo eres quien escribe el programa servidor (de un Web Service) y el programa cliente, lo primero que haces es definir la interfase del servicio, y en ambos programas incluyes tal definición.

Es importante notar que si el Web Service es algo mas o menos genérico (como por ejemplo una serie de preguntas sobre la existencia o no de libros en las librerías) cada grupo de trabajo en cada librería podría desarrollar su propio Web Service implementando la misma interfase, y entonces un cliente podrá hacerle las mismas preguntas a cada librería, sin importar que cada librería implementó su servidor en PHP, o en VB, o en Delphi, o en Java.

Mi trabajo con interfases no ha ido muy lejos en realidad, por lo que podría decir mas de una estupidez, pero por lo que he visto, al definir una interfase (en Delphi, insisto) lo que haces es dejar una puerta abierta para que otro implemente.

¿Por que?

Quizás porque la implementación no va a estar necesariamente en el mismo lenguaje.

Quizás porque va a haber mas de una implementación.

Quizás porque un tercero (o terceros) harán la(s) implementacion(es).

Quizás porque estas definiendo algo abstracto que se concretará mas tarde.

¿Aplicaciones prácticas para que tu mismo hagas la interfase y tu mismo la implementación?

Quizás no tenga mucho sentido....

Saludos.
  #3 (permalink)  
Antiguo 01/03/2006, 20:33
 
Fecha de Ingreso: abril-2005
Ubicación: Ramos Mejía
Mensajes: 113
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias por el ejemplo, lo veo lógico. Quisás estoy pensando en términos de visual basic.
Construyo componentes para aplicaciones (Motores) y me tiene mal eso de que las implementaciones son lo mejor y yo que no doy pie con bola en dónde las empleo y para uqé.
Gracias
  #4 (permalink)  
Antiguo 01/03/2006, 20:48
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 19 años, 4 meses
Puntos: 24
Cita:
Iniciado por Kaopectate
Hola jorgelujanm.

...

Quizás porque estas definiendo algo abstracto que se concretará mas tarde.

¿Aplicaciones prácticas para que tu mismo hagas la interfase y tu mismo la implementación?

Quizás no tenga mucho sentido....

...

Saludos.
Cuando estas desarrollando un programa, y quieres saber que subsistemas necesitas, solo creas estos subsistemas y sus interfaces, para saber como se deben llamar, luego cuando pasas a la etapa de implementacion, realizas una implementacion de esta interfaz. Ademas la interfaz te permite poder cambiar la forma en que e realizan las funciones, sin afectar a las partes del codigo que llamen a esta interfaz.

Por ejemplo, si tienes un metodo definido en una interfaz, llamado buscarUsuario(String codigoUsuario), y luego descubres que la implementacion de este metodo es muy ineficiente, lo unico que haces es cambiar la implementacion de este metodo, sin afectar su forma de llamada.

Otra de las utilidades es que en una clase o modulo, puedes separar "lo que hace", de "como lo hace".

Espero no haber sido confuso. Adios
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #5 (permalink)  
Antiguo 01/03/2006, 20:57
 
Fecha de Ingreso: abril-2005
Ubicación: Ramos Mejía
Mensajes: 113
Antigüedad: 19 años, 7 meses
Puntos: 0
Intento comprenderlo pero me es dificil. Quisás si hubiera un proyecto en visual basic que yo pudiese descargar, un ejemplo de componente+implementación que emplee interfaces...
...algún proyecto palpable que pueda analizar...

Si cononcen alguna dirección o tienen algún proyecto para enviarme pueden mandarlo a [email protected] o a [email protected]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.