Foros del Web » Programando para Internet » ASPX (.net) »

Uso de Interfaces - Interfaz c#

Estas en el tema de Uso de Interfaces - Interfaz c# en el foro de ASPX (.net) en Foros del Web. Hola, tengo necesito saber cuando me conviene usar interfaces . Ya tengo un preyecto hecho y me gustaría entender bien este concepto. Porque pareciera que ...
  #1 (permalink)  
Antiguo 29/04/2009, 09:25
Avatar de AlaDelta  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina
Mensajes: 56
Antigüedad: 16 años, 2 meses
Puntos: 0
Información Uso de Interfaces - Interfaz c#

Hola, tengo necesito saber cuando me conviene usar interfaces.
Ya tengo un preyecto hecho y me gustaría entender bien este concepto.
Porque pareciera que una clase abstracta es lo mismo...

Si pudieran darme un claro ejemplo, (más que nada la idea) y no tan abstracto sería de gran ayuda...

Yo uso c# pero creo que debe ser igual en cualquier lenguaje...

Se agradece la ayuda!!!!
  #2 (permalink)  
Antiguo 29/04/2009, 18:33
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Uso de Interfaces - Interfaz c#

Hola.
Si, son parecidas a las clases abstractas, pero la diferencia está en que en una clase abstracta podes definir metodos, funciones eventos etc. En cambio en una interface solo definis los metodos pero no su funcionalidad. Para que veas un ejemplo muy simple pero es como para que veas más o menos su utilidad.

Supongamos que programas tu capa de datos y tenes tres tablas, Usuarios, Empleados y Productos. En tus clases vas a tener cosas comunes como buscar, eliminar etc. Podes entonces definir de una forma con interfaces para que cada clase de estas tablas tengas estos metodos nombrados, entonces la interfas tendría más o menos esto:

interface IAccesoDatos
{
DataSet ObtenerTodos();

void Borrar(int ID);

DataTable BuscarUno(int ID);
}

Luego cuando creas tu clase de acceso a Datos supongamos para Usuarios te quedaría así:

Public Class EmpleadosDatos: IAccesoDatos
{
Public DataSet ObtenerTodos()
{
..............
}

// Los otro metodos de la interface .....
}

Entonces así todas las clase de datos que armes y usen la interface de datos tendran que definir los metodos de dichas interfaces. Si lo armas en visual studio por ejemplo cuando agregas a una clase que hereda de una interface te da la opcion de que te agrege automáticamente lo metodos para que no los escribas vos ahorrandote tiempo de repetir esta tarea a mano en las otras clases.

Ademas lo bueno de esto es que a diferencia de las clases abstractas, una clase puede heredar de VARIAS interfaces.

Esto es un ejemplo sencillo, podes ver mas respuestas seguro acá y ver algo acá:
http://msdn.microsoft.com/es-es/libr...56(VS.80).aspx
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 30/04/2009, 07:10
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Uso de Interfaces - Interfaz c#

El ejemplo de Trulala de cordoba serviria, pero creo no se ha explicado correctamente (o se ha dejado lo que yo considero mas importante).

Lo realmente bueno de usar interfaces en este caso, por ejemplo, es que si un dia tu aplicación en lugar de usar una base de datos para acceder a los datos necesita acceder a un XML o a un webservice o lo que sea, simplemente desarrollando una clase que implemente dicha interfaz podrás tener tu aplicación funcionando con el XML sin tener que hacer un solo cambio en el resto de la aplicación...
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 12:02.