Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   clases abstractas, dll´s (http://www.forosdelweb.com/f29/clases-abstractas-dll-s-262907/)

andres_73 18/01/2005 11:13

clases abstractas, dll´s
 
buenas;

tal vez esta pregunta deba ir en el foro de programacion, pero en fin

voy a poner un ejemplo para ilustrar mi pregunta.

supongamos que tengo una clase abstracta X que lo que hace es agarrar dos numeros reales y devuelve la suma de ellos.

luego otra clase que hereda de X donde paso los parametros y obtengo el resultado.

supongo que esto tambien se puede hacer si en vez de una clase abstracta programo una dll.

bien, mi pregunta es cuando usar clases abstractas y cuando dll s?

gracias de antemano

GunkanX 18/01/2005 11:16

Una dll no puede heredar de otra dll. En todo caso lo que tu necesitas es una librería de clases. Y si, creo que tienes que preguntar en el foro de programación.

andres_73 18/01/2005 11:24

buenas,

gracias por la respuesta.

se que una dll no puede heredar de otra.

cuando es conveniente que una clase herede de una abstracta y cuando es conveniente que una clase "trabaje" con los metodos, funciones de una dll?

saludos

GunkanX 18/01/2005 12:54

Estas mezclando conceptos como son el de programación orientada a objetos o procedimental y el de DLL, OCX, etc.

Vamos por partes.
1. Si trabajas con programación orientada a objetos, crearas objetos. A veces, te resultará necesario crear objetos heredados de otros porque hacerlo de cero es demasiado trabajo (hacer un Applet en Java desde cero es una locura, para eso tienes la clase Applet, para heredar de ella). No tienes porque heredar en ningun caso si no se da el caso.

2.Una DLL es una librería de funciones que se cargan en tiempo de ejecución dinámicamente. No es necesario que se carguen todas al inicio, sólo en la parte que las utiliza. Estas DLL tienen una serie de funciones con sus parámetros que tu puedes utilizar en tu programa sin necesidad de codificarlas de nuevo. Sería como hacer un include pero las DLL ya vienen precompiladas.

3. Existen "DLL" con objetos predefinidos para que puedas crearlos en tiempo de ejecución, pero de estos no se puede heredar puesto que no tienes el código fuente. Una librería de clases SI permite heredar de ella puesto que es un include completo del código de una clase para tu proyecto.

Cita:

cuando es conveniente que una clase herede de una abstracta y cuando es conveniente que una clase "trabaje" con los metodos, funciones de una dll?
4. Las DLL se suelen usar en un proyecto para reutilizar código. O si el código fuente no es tuyo para comprar funcionalidades o incorporar estandares (twain32.dll para acceso a escaneres). Para proyectos pequeños ni siquiera necesitas utilizar DLLs. Una clase no puede crear objetos que tengan funciones propias del objeto dentro de DLLs. Diferente es que una clase tenga un procedimiento que llame a una función de una DLL externa. Yo tengo objetos que llaman a dll's que tienen funciones de tratamiento de imágenes. Pero no es lo normal. Lo que es conveniente depende del diseño o la necesidad.

Más o menos espero que entiendas la idea, aunque evidentemente todo esto "depende".

andres_73 18/01/2005 14:26

clarisimo, muchas gracias.

otra cosita, ya que mencionaste que usas una determinada ddl para trabajar con escáners. de dónde obtengo información acerca de las dll que están disponibles para realizar distintas tareas (impresión, escáner y un casi infinito etcétera)?

de nuevo gracias

GunkanX 19/01/2005 02:16

No es una información asequible de forma sencilla. Yo esa información la tengo en libros y documentación PDF. Aunque estoy seguro de que estará en Inet. algunos compiladores te sacan la definición de las funciones de las DLL's y sus parámetros, pero siempre es mejor que tengas una idea de lo que hacen estas funciones.


La zona horaria es GMT -6. Ahora son las 06:11.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.