ene 6 2010
Sobre funciones y métodos
Mucha gente cuando empieza a programar, no entiende del todo este concepto de las funciones y el concepto de método, tanto porque o los profesores no son demasiado explícitos, o porque las funciones no son legibles al instante y pues en este post voy a intentar clarificar un poco eso un poco.
Primero que nada, una función no es un método, y viceversa, mucha gente confunde los términos porque en teoría tienen una aplicación parecida, pero hemos de diferenciar a la función del método con lo siguiente:
Función: Es una “acción” que se ejecuta al llamarse, y opcionalmente (y si es que ha sido definido así) con los parámetros que se le pasen (eso en ejecución) y pues por consiguiente, el trabajo que haga depende de esos parámetros o de cómo es que se llame. Por ejemplo:
Si definimos una función “Imprimir”
public void Imprimir(String cadena){
System.out.println(cadena);
}
Deberíamos ponerlo en donde lo necesitamos, de la siguiente forma:
Imprimir("Hola! a todos");
Para que imprima lo que le hemos pasado por parámetro haciendo el trabajo dependiente de eso que le pasemos!
Método: En cambio, un método siempre tiene una asociación con alguna clase, lo que muy aparte de la función de la función (valgan redundancias) va a depender tanto de los parámetros que se le pasen, como del objeto que esté operando en ese momento, osea prácticamente podríamos definir a un método, como la función dentro de un objeto, dejando en claro que todo método es una función, pero no toda función es un método. Por ejemplo:
En una clase definimos el método “Suma” de la siguiente manera:
public int suma(int y){
//la variable x es una variable declarada en el objeto supongamos,
int x = this.x;
int suma = x + y;
return suma;
}
En el main deberiamos definir el funcionamiento de esta manera:
//objetoOperacion o = new objetoOperacion()
//o.setX(10);
int suma = o.suma(20);
//Suponiendo que lo comentado arriba es correcto, deberíamos sumar un 20 al 10, osea daría un 30!
//System.out.println("La suma es: "+suma); //debe dar 30!
Como ven, en este cao el método afecta al objeto aparte de coger un parámetro y usarlo…
Pasando a otro tema, otra de las incógnitas es esto de los parámetros… que es un parámetro?
Pues es aquél valor variable que usamos en la definición de nuestros métodos y funciones a la espera de darle algún uso luego, es decir, nosotros especificamos parámetros en la construcción del método, y en la invocación le pasamos uno de nuestra elección, el sistema al tener definida la estructura del método lo que hará es usar ese valor en los puntos en donde se definió en la construcción. Esta imagen explica mejor lo que acabo de decir:

Tomé el ejemplo anterior porque supongo que es el más fácil de entender, y bueno vemos en el ejemplo que el parámetro es un String, con lo que si, insertas algún valor int o double, simplemente te saldrá error ya que en la definición especifica el tipo de variable…
Bueno, espero haber aclarado algunos puntos con referente al tema, algunos no lo sabían del todo y explicarlo así con habla es explicar nada… si tienen alguna duda, correción o quieren ampliar el tema, pues háganlo como comentario abajo
Saludos!!!
PD: el lenguaje de programación que aquí usé es Java, pero esto es válido (la teoría) para cualquier lenguaje orientado a objetos.





Bitacoras.com
ene 06, 2010 @ 23:47:31
Información Bitacoras.com…
Valora en Bitacoras.com: Mucha gente cuando empieza a programar, no entiende del todo este concepto de las funciones y el concepto de método, tanto porque o los profesores no son demasiado explícitos, o porque las funciones no son legibles al instant…
ene 10, 2010 @ 23:12:33
Pos te falto de hablar sobre los mensajes a clases y lo q hace algo diferente a java y objective-C ; la instrospeccion