Delphi - Acerca de interfaces

 
Vista:

Acerca de interfaces

Publicado por Marcos (192 intervenciones) el 06/11/2006 17:51:18
Hola, he estado leyendo un poco acerca de las interfaces pero me gustaría saber cuando es recomendable usarlas? sé que solo definen los métodos, que no hay constructores ni destructores y que las clases que derivan de ella están obligadas a implementar los métodos; cuál es el conteto en el que ustedes usan las interfaces?

Espero haberme explicado bién.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Acerca de interfaces

Publicado por M@rceloL (213 intervenciones) el 06/11/2006 21:45:34
Es útil para implementar comportamiento común entre clases que no tienen nada en común.

Por ejemplo, si uno tiene un código que maneja ordenamientos. El algoritmo para ordenar hace siempre, lo mismo, compara los valores de las cosas y las ordena.

Si yo tengo dos clases, una TCliente y otra TProducto y las quiero ordenadas a las dos, podría usar el mismo código de ordenar. Pero claro, el valor que me permite ordenar clientes puede ser un String, y el de productos un código de producto.

Mi código de ordenamiento tiene que poder acceder al "valor de ordenamiento" de objetos de ambas clases.

¿Cómo lo hago? Bueno, puedo crear una interfaz que tenga un método GetValorOrd, de tipo integer.

Todas las clases que yo quiera ordenar van a implementar esta interfaz, y mi código para ordenar NO recibe objetos de ninguna clase, sino objetos con la interfaz IOrdenable. Por ejemplo:

procedure Ordenar(var Elementos: array of IOrdenable);

Recibe un arreglo de objetos que implementan la interfaz IOrdenable. De qué clases son, no me importa, siempre y cuando implementen la interfaz.

TCliente y TProducto se pueden ordenar con el mismo código, aunque no tengan nada que ver una con la otra y el método por el cual obtienen su "valor de ordenamiento" puede ser completamente distinto.

¿Se entiende algo? Si no, preguntá de nuevo. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acerca de interfaces

Publicado por Alex (1 intervención) el 08/11/2006 22:30:45
Delphi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar