Diferencia entre método y función

1,314 views
Skip to first unread message

alek.s...@gmail.com

unread,
Jul 18, 2008, 4:18:35 AM7/18/08
to madeinflex
Buenos dias.

He buscado en el grupo pero no he tenido éxito. No estoy seguro de si
existe ya algo comentado en este grupo al respecto.

Ruego alguna respuesta que me pueda aclarar un poco estos conceptos.

un saludo

mafuentes

unread,
Jul 18, 2008, 5:14:36 AM7/18/08
to madei...@googlegroups.com
Hola Alek, esta diferenciación viene dada por el paradigma de orientación a
objetos.

En el mundo de los objetos las "funciones" que pertenecen a una clase se
denominan métodos.
Como en ActionScript es posible definir "funciones" fuera de clases sin
seguir la encapsulacion de funcionalidades dentro de clases, a esa
definición de acciones se le denomina funcion. Es una cuestión de "lugar"
donde se defina... metodo.. dentro de clase.... funcion... fuera de clase.


Espero haberte aclarado algo

Salu2

-----Mensaje original-----
De: madei...@googlegroups.com [mailto:madei...@googlegroups.com] En
nombre de alek.s...@gmail.com
Enviado el: viernes, 18 de julio de 2008 10:19
Para: madeinflex
Asunto: [madeinflex] Diferencia entre método y función

alek.s...@gmail.com

unread,
Jul 18, 2008, 6:43:33 AM7/18/08
to madeinflex
gracias mafuentes.

con "fuera de la clase" te refieres a definir el "proceso" en ?
Todas las entidades contenedores que manejamos son clases,
componentes, views....no te acabo de pillar el concepto.
podrias ponerme un ejemplo sencillote?
un saludo
alex

On 18 jul, 11:14, "mafuentes" <mafuen...@itdeusto.com> wrote:
> Hola Alek, esta diferenciación viene dada por el paradigma de orientación a
> objetos.
>
> En el mundo de los objetos las "funciones" que pertenecen a una clase se
> denominan métodos.
> Como en ActionScript es posible definir "funciones" fuera de clases sin
> seguir la encapsulacion de funcionalidades dentro de clases, a esa
> definición de acciones se le denomina funcion. Es una cuestión de "lugar"
> donde se defina... metodo.. dentro de clase.... funcion... fuera de clase.
>
> Espero haberte aclarado algo
>
> Salu2
>
> -----Mensaje original-----
> De: madei...@googlegroups.com [mailto:madei...@googlegroups.com] En
> nombre de alek.servi...@gmail.com

Xavi Beumala

unread,
Jul 18, 2008, 6:48:16 AM7/18/08
to madei...@googlegroups.com
class MyClass
{
public var miFuncion:Function;

public function MyClass ()
{
miFuncion = function ()
{
trace ("miFuncion se ha ejecutado");
}
}

public function miMetodo ():void
{
trace ("esto es un metodo que llama a una funcion.");
miFuncion ();
}
}

Function is un dataType nativo en ActionScript, puedes pasar funciones como
referencia y ejecutarlas cuando quieras. Fijate miFuncion no es
directaqmetne parte de ninguna clase. Existe por si sola.

En Flash es mas facil encontrarse con funciones debido al uso de la linea de
tiempo

HTH
X.

On 18/07/2008 11:43, "alek.s...@gmail.com" <alek.s...@gmail.com>
wrote:

Viktor Lozano

unread,
Jul 18, 2008, 8:36:48 AM7/18/08
to madei...@googlegroups.com
Alek!!

Tal como dice mafuentes, el tema es que no hay "ninguna" diferencia conceptualmente hablando. Con ambas puedes hacer lo mismo sólo que depende de cómo estés programando. Por ejemplo:
En una clase (POO) las funciones (o metodos que es lo mismo) se crean asi:
class Prueba
{
   private function Prueba()
   {
       trace ("esta es una funcion (metodo) llamada constructora");
       trace ("--siempre se ejecuta cuando se instancia la clase--");
   }
   private function OtroMetodo():void
   {
       trace ("esta es otra funcion (o metodo) que hace cualquier otra cosa");
   }
}

Y se llaman asi:
var objeto = new Prueba();
objeto.OtroMetodo() //esto ejecuta la funcion OtroMetodo de la clase

-----------------------------------------------------
En programacion procedimental o procedural (como prefieras llamarla) una funcion (ya aqui si no se llama metodo por que no esta dentro de una clase) se crearia asi:
function OtroMetodo()
   {
       trace ("esta es una funcion (ya no se llama metodo) que hace cualquier cosa");
   }
y para llamarla es asi:
OtroMetodo();

Salu2
--
--
\¯\ /¯/ |¯| |¯| )¯)
VIKTOR LOZANO
\_/ |_| |_| )_) ®
========================
Ten cuidado con lo que sueñas...
por que lo vas a conseguir!
========================
www.ConocimientoVirtual.EDU.CO

alek.s...@gmail.com

unread,
Jul 18, 2008, 8:42:19 AM7/18/08
to madeinflex
gracias, ahora si.

un saludo "conceptualmente hablando" claro,
alex
> El día 18 de julio de 2008 5:48, Xavi Beumala <xavi.beum...@adobe.com>
> escribió:
>
>
>
>
>
> > class MyClass
> > {
> >  public var miFuncion:Function;
>
> >  public function MyClass ()
> >  {
> >     miFuncion = function ()
> >     {
> >         trace ("miFuncion se ha ejecutado");
> >     }
> >  }
>
> >  public function miMetodo ():void
> >  {
> >     trace ("esto es un metodo  que llama a una funcion.");
> >     miFuncion ();
> >  }
> > }
>
> > Function is un dataType nativo en ActionScript, puedes pasar funciones como
> > referencia y ejecutarlas cuando quieras. Fijate miFuncion no es
> > directaqmetne parte de ninguna clase. Existe por si sola.
>
> > En Flash es mas facil encontrarse con funciones debido al uso de la linea
> > de
> > tiempo
>
> > HTH
> > X.
>
> > On 18/07/2008 11:43, "alek.servi...@gmail.com" <alek.servi...@gmail.com>
> \_/ |_| |_| )_) (R)
Reply all
Reply to author
Forward
0 new messages