Amigos....
Alguien puede decir las diferencias entre:?
- Funcion (Function)
- Procedimiento (Sub)
- Rutinas ?
- Clases (Class)
Gracias... Se les agradece...
de antemano
se les quiere
salu2
| |||
Para que entiendas. Las subrutinas no regresan un valor sin embargo las funciones sí, esa es la diferencia más notable y más obvia. Para las clases en vbs es como definir tus objetos con propiedades, métodos, échale un vistazo a los pricnipios de la programación orientada a Objetos. |
| ||||
Cita: OK. Entonces los sub ejecutan una acción, luego de ser ejecutada se procede a una muestra. Ej.. Termina de ejecutarse el sub y response.redirect
Iniciado por orharo2003 Para que entiendas. Las subrutinas no regresan un valor sin embargo las funciones sí, esa es la diferencia más notable y más obvia. Para las clases en vbs es como definir tus objetos con propiedades, métodos, échale un vistazo a los pricnipios de la programación orientada a Objetos.
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |
| ||||
Cita: Osea q despues de q se ejecute una accion (en este caso del sub), no devolverá nada simplemente uno le dice lo q tiene q hacer, luego de haber ejecutado el sub
Iniciado por orharo2003 No entiendo a que te refieres. ej call sub dom se ejecuta el sub luego de haberse ejecutado el sub response.redirect "listo.asp"
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |
| |||
|
| ||||
Perooo... a ver... las SUB son perfectamente reemplazables por Function's.. ¿no? Porque también se puede hacer una Function que no regrese ningún valor y que simplemente efectúe una acción determinada (como, por ejemplo, hacer un response.write "hola") ¿O hay ocasiones en donde si o si es necesario usar una SUB y otras en donde usar una Function?
__________________ ...___... |
| |||
más que nada el se referia a la verdera diferencia, es como un coche tiptronic, es (standar y automático al mismo tiempo), supongamos que es una funcion, el sub es un coche solo automático. Con ambos vas a manejar !!! pero el tiptronic tendrá más versatilidad, pues tu decides cuando es standar y cuando es automático, sucede lo mismo con la función, te regresa un valor. Queda claro que solo dependerá de la necesidad de la persona y circunstancia. |
| ||||
Si, pero por convención, este debe ser un error de VBS, una function en el sentido estricto de la programación está destinada a que te regrese un valor, en otros lenguajes de programación(llámense los hijos directos de C), solo existe function, y puedes hacer que no te regrese un valor especificando un void(evita) regresar un valor, en realidad para mayor estructuración, siempre deberías utilizar una Function cuando regrese un valor, y una Sub, cuando solo realize una acción determinada, como parte del proceso en el que la llamas, una Function debería ser llamada cuando necestias conocer un valor y que ese valor pueda o no depender de alguno de los valores que tienes dentro de tu procedimiento(argumentos). En cuanto a las clases, al menos en ASP, no se observa con claridad las ventajas, pues recordemos que esto es el principio de los lenguajes orientados a objetos, los cuales tienen 3 elementos básicos: herencia, polimorfismo y encapsulamiento, los cuales se verían de una manera más clara desde ASP, utilizando componentes. Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
5. DEFINICION DE FUNCIONES Y SUBRUTINAS Para facilitar la lectura del código en las páginas ASP, obtener rehusabilidad y en definitiva estructurar la aplicación, ASP permite crear funciones y subrutinas (las primeras se distinguen de las segundas porque retornan un valor). Si conoces Visual Basic observarás que el sistema es idéntico en las páginas ASP. Ejemplo de Subrutina <% ' Declaración de la subrutina Sumar sub Sumar(valorA, valorB, res) res = valorA + valorB end sub %> <% Dim result 'Llamada a la subrutina Sumar Call Sumar 30, 40, c Response.write "El resultado de: 30 + 40 es " & c %> Ejemplo de una Función <% ' Declaración de la Función Sumar function Sumar(valorA, valorB) Sumar = valorA + valorB end function %> <% Dim result 'Llamada a la Función Sumar Response.write "El resultado de: 30 + 40 es " & Sumar (30,40) %>
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |
| ||||
Como podemos ver el SUB retorna un valor que uno recoje.. Ya listo. Mientras que function no evalua valores, sino que se ejecuta de inmediato y se comporta como una variable... ¿Me entienden? creo q no..! ![]()
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |
| ||||
Cita: De hecho NO!Como podemos ver el SUB retorna un valor que uno recoje.. Como te mencionó desde un principio el master orharo ![]() Function suma(a, b) suma = a + b End Function Sub resta(x,y) Response.write "La resta de " & x & "-" & y & " es:" & x - y End Sub misuma = suma(5,10) otra_suma = misuma + 10 otra_suma tendrá un valor de 25, porque hiciste uso de la funcion suma para sumar 5 + 10 y le agregaste 10... En cambio resta 10, 5 Solo imprimirá "La resta de 10 - 5 es: 5", y no puedes hacer nada más. Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| |||
Cita: Iguanas ranas .Como te mencionó desde un principio el master orharo ![]() De igual forma : ![]() ![]() jejeje, ya me he escapado varias veces de que me celebren tambien jajaja este día, en vez de yo celebrarlo. ![]() |
| ||||
Cita: Amigo eso no lo inventé, lo saqué de un Manual ASP
Iniciado por orharo2003 Iguanas ranas . De igual forma : ![]() ![]() jejeje, ya me he escapado varias veces de que me celebren tambien jajaja este día, en vez de yo celebrarlo. ![]()
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |
| ||||
Cita: La ventaja mas clara de usar clases sobre las funciones, es que las funciones tienen un determinado numero de parametros que son esperados SI o SI.En cuanto a las clases, al menos en ASP, no se observa con claridad las ventajas, si uno de estos paramentros no es definido, la funcion se cae. Por otro lado en las clases no es necesario que se le ingresen todos los parametros para funcionar. Esto permite que una misma clase utilizada para X proposito pueda ser usada para Y proposito sin tener que actualizar el numero de parametros que son asignados en cada parte del codigo donde es llamada la clase en cuestion. |
| ||||
Cita: No es que no esté de acuerdo contigo, pero esto que mencionas no es la ventaja mas clara, en realidad es solo una consecuencia de trabajar con objetos y el punto final al que me refería cuando decía que en ASP, no se observa con claridad. La ventaja mas clara de usar clases sobre las funciones, es que las funciones tienen un determinado numero de parametros que son esperados SI o SI. si uno de estos paramentros no es definido, la funcion se cae. Por otro lado en las clases no es necesario que se le ingresen todos los parametros para funcionar. Esto permite que una misma clase utilizada para X proposito pueda ser usada para Y proposito sin tener que actualizar el numero de parametros que son asignados en cada parte del codigo donde es llamada la clase en cuestion. ![]() Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| |||
Un saludo, Bueno ya que de clases hablamos quería hacer un par de preguntas al respecto. ¿La clases de ASP 3, pueden soportan herencia? ¿La clases de ASP 3, pueden soportan encapsulacion? ¿La clases de ASP 3, pueden soportan poliformismo? Gracias. |
| ||||
![]() Puedes crear clases en ASP 3.0 ciertamente, y vamos de nuevo al tema, je je, en realidad me parece que no, recuerda que finlamente estarías programando tus clases en VBS, el cual no es un lenguaje de programación orientado a objetos, tendrías que valerte de otro lenguaje de programación, y hacer esto a nivel de componentes. Por eso de mi post anterior que comentaba con el master Muzztein. Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
VBScript es escribir Visual Basic, sin parámetros ASP ni nada por el estilo ej <%%> sino <script language=VBScript> Script en VBScript </script> eso, pero sin utilizar {}, q es uno de los parámetros en JScript
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |
| ||||
De hecho VB hasta la versión 6.0 es orientado a eventos no a objetos, y VBS no es mas que un subconjunto de VB, igual no he tratado en realidad de hacer clases en VBS, pero por lo menos, encapsulamiento como tal, no soporta, tampoco polimorfismo, herencia, no lo se... Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
yo dije objetos????? si.. pero bueno............... yo lo vi.. no lo encuentro..!" dejame ver.... p.o.o. ¿donde estas? ok dejame buscar y te digo
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |