Académique Documents
Professionnel Documents
Culture Documents
Volvamos sobre los objetos taxi creados y que deben aparecer en el banco de objetos en la parte inferior
izquierda de la pantalla del entorno de desarrollo. Si pulsamos con botn derecho del ratn sobre ellos se
nos despliegan los mtodos (operaciones) disponibles para cada objeto.
mtodo. Los mtodos disponibles los define la clase, pero se invocan sobre cada objeto en particular. Al
invocar el mtodo getDistrito() se nos abre una ventana de BlueJ denominada Method Result donde nos
indica: returned String Desconocido. Le hemos pedido al objeto que nos diga cul es su distrito y nos
devuelve Desconocido. La razn para ello es que en el constructor de la clase incluimos una lnea de
inicializacin de distrito para todo objeto de tipo Taxi con el valor Desconocido. Si en vez de ese valor
hubisemos establecido otro, ese sera el que ahora obtendramos.
Cierra esa ventana y repite el proceso eligiendo ahora la opcin void setDistrito (String valorDistrito). En el
recuadro donde solicita el distrito escribe Oeste. No olvides incluir las comillas obligadas por tratarse de
un String. Seguidamente, vuelve a invocar el mtodo getDistrito y comprueba el resultado obtenido.
Los mtodos que hemos definido en la clase Taxi podemos clasificarlos de la siguiente manera:
a) Mtodos tipo funcin: son mtodos que nos devuelven algo. Un mtodo es tipo funcin si comienza
con un tipo (no consideramos ahora la palabra clave public). Por ejemplo String getDistrito() comienza con
el tipo String lo que significa que nos devuelve una cadena de caracteres, mientras que int getTipoMotor()
comienza con el tipo int lo que significa que nos devuelve un entero. Tener en cuenta que un mtodo tipo
funcin devuelve solo un dato u objeto como resultado, no varios. La devolucin del resultado se expresa
con la palabra clave return seguida del dato u objeto a devolver, por ejemplo return tipoMotor;. La sentencia
return implica que termina la ejecucin del cdigo en el mtodo y estar tpicamente en la lnea final. De
existir una lnea por detrs de una sentencia return, nunca llegara a ejecutarse (tendremos que matizar
esto porque el uso de condicionales nos permitir tener ms de un return en un mtodo). De forma genrica:
/* Ejemplo - aprenderaprogramar.com */
//Comentario descriptivo de qu hace el mtodo
public tipoValorDevuelto nombreDelMtodo (tipo parmetro1, tipo
parmetro2) {
Cdigo del mtodo
return ResultadoQueDevuelveElMtodo;
}
b) Mtodos tipo procedimiento: son mtodos que realizan ciertas operaciones sin devolver un valor u
objeto concreto. Un mtodo es tipo procedimiento si comienza con la palabra clave void (que traducido del
ingls viene siendo vaco o nulo). En estos casos podemos decir que el tipo de retorno es void. De forma
genrica:
/* Ejemplo - aprenderaprogramar.com */
//Comentario descriptivo de qu hace el mtodo
public void nombreDelMtodo (tipo parmetro1, tipo
parmetro2) {
Cdigo del mtodo
}
En general un mtodo con tipo de retorno void no llevar sentencia return, aunque en Java se permite que
un mtodo de este tipo incluya la sentencia return;. Si ocurre esto, la sentencia da lugar a que el mtodo
finalice en ese punto sin ejecutar ninguna lnea ms de cdigo. Solo tiene sentido su uso asociado a que se
cumplan ciertas condiciones.
Puede un mtodo ser al mismo tiempo funcin y procedimiento? Formalmente debemos evitarlo.
Podramos tratar de agrupar operaciones, pero es una situacin que trataremos de evitar. Nos plantearemos
como objetivo que todo mtodo tipo funcin se centre en devolvernos aquello que nos interesa sin realizar
otros procesos. Igualmente buscaremos que todo procedimiento realice un proceso concreto y no varios.
Cada mtodo debe realizar una tarea concreta, especfica y bien definida. Un mtodo no debe ocuparse de
dos tareas.
METODOS, FUNCIONES Y
CLASES EN JAVA
Sin descripcin
de
el 25 de Junio de 2014
558
Comentarios (0)
Por favor, entra para aadir tu comentario.
Informar sobre uso indebido
CLASES DE FUNCIONES
Creemos un mtodo que realice la suma de dos nmeros, el cdigo sera el siguiente:
EJEMPLO
Pasos para implementar un mtodo:
1. Describir lo que el mtodo debe hacer
2. Determinar las entradas del mtodo
3. Determinar los tipos de las entradas
4. Determinar el tipo del valor retornado
5. Escribir las instrucciones que forman el cuerpo del mtodo
6. Prueba del mtodo: disear distintos casos de prueba
Cuando se llama a un mtodo, la ejecucin del programa pasa al mtodo y cuando ste
acaba, la ejecucin contina a partir del punto donde se produjo la llamad
http://www.textpad.com/download/
Instala el programa, el cul no tiene mayor complicacin (Siguiente -> Siguiente ->
Finalizar). Ahora TextPad ser nuestro editor de texto, con lo que haremos las
llamadas al compilador y con lo que se harn las llamadas para ejecutar el
programa (adems de que tiene colorcitos =D ), para no tener que ejecutar el
compilador y JVM desde la lnea de comandos.
Para compilar un archivo slo tienes que ir al men Herramientas -> Compilar Java
y para crrerlo, una vez compilado, ve a Herramientas -> Ejecutar Aplicacin Java.
Bien ahora que esto ya qued entendido, vamos ahora s a nuestro tema central,
los mtodos!
Qu es un mtodo?
Un mtodo es una funcin que puede ser llamado y que ejecutar una serie de
instrucciones para que nuestro programa sea ejecutado. En Java la mayora de
instrucciones siempre estar dentro de un mtodo, en realidad siempre irn dentro
de un mtodo excepto en algunos casos, pero de momento ese no es nuestro tema
de estudio.
System.out.println("Hola Mundo!");
<cuerpo>
TIPO DE RETORNO: Es el tipo de datos que sern obtenidos una vez que la
ejecucin del mtodo termine.
Bien ahora slo para que lo veas con nuestro mtodo principal:
NOMBRE: main
Bien ahora siguiendo esa misma lgica podemos definir un mtodo para sumar dos
nmeros decimales (El tipo de datos decimal en Java es double) a y b.
NOMBRE: suma
PARMETROS: double a, double b (El mtodo recibe dos parmetros, para realizar
una funcin que sume dos nmeros debemos recibir esos dos nmeros...muy fcil
no? )
Entonces nuestro mtodo queda escrito de la siguiente forma y slo nos falta definir
el cuerpo, es decir, cmo es que nuestro mtodo realizar la suma de esos
nmeros:
}
El cuerpo de este mtodo es muy simple ya que slo tenemos que sumar a + b y
regresar el valor de esa suma.
return a + b;
Sencillo no? Tenemos una funcin de nombre suma, que recibe dos parmetros
(a,b) y que una vez que se ejecute obtendremos un valor decimal (double).
Ahora, para realizar algunas pruebas lo nico que tenemos que hacer, cmo ya
sabes! es poner todo dentro de una clase, y colocar un mtodo principal, el cul es
el punto de inicio del programa.
System.out.println( suma(5,6) );
System.out.println( suma(11,12) );
return a + b;
}
Que son los metodos y
como utilizarlos en java
Java como todo lenguaje de programacin orientado a objetos utiliza los llamados metodos. Acontinuacin
veremos como se crea un metodo y como se utilizan.
Se podria decir que existen 2 grandes tipos de metodos, el primer tipo de metodo son metodos que realizan
procesos, puedes realizar cualquier operacin con ellos, sin embargo el proposito es manipular variables
existentes. El segundo tipo de metodos son los que realizan un proceso o calculo, y calculan una variable
especifica, un ejemplo podria ser un metodo para obtener el valor de una multiplicacin.
Estructura de un metodo
Los metodos en java pueden tener parametros, es decir, que un metodo puede utilizar variables predefinidas
para ser utilizadas en sus procesos, Veamos un ejemplo de como hacer un metodo en el siguiente ejemplo
En este ejemplo vemos un programa normal en el cual se ejecuta un ciclo while que imprime numeros del 0 al
7, pero es posible hacerlo utilizando un metodo?
01 package ciclos;
02
03 /**
04 *
05 * @author xymind
06 */
07 public class Main {
08
09 /**
10 * @param args the command line arguments
11 */
12 public static void main(String[] args) {
13
14 int x=0;
15 while(x!=7)
16 {
17 System.out.println("X vale: "+x);
18 x++;
19
20 }
21 }
22
23 }
01 package ciclos;
02
03 /**
04 *
05 * @author xymind
06 */
07 public class Main {
08
09 /**
10 * @param args the command line arguments
11 */
12 public static void main(String[] args) {
13
14 iniciarCiclo();//aqui estamos ejecutando el metodo escrito en
15 //la parte de abajo, se puede utilizar mas de 1 vez
16 }
17
18 /*Comienza el metodo
19 Este metodo no regresa valores, es un metodo que unicamente
realiza un procedimiento, por lo que se declara como "void"
20
seguido del
21 nombre que tendra el metodo*/
22 public void iniciarCiclo(){
23
24 int x=0;
25 while(x!=7)
26 {
27 System.out.println("X vale: "+x);
28 x++;
29
30 }
31 }
32
33 }
Los dos anteriores programas hacen exactamente lo mismo a diferencia de que el segundo programa esta
utilizando un metodo.
En este ultimo ejemplo se mostrara un metodo que regrese un valor, estos metodos se declaran diferente y
siempre deben terminar
con la palabra return var; donde var es una variable cualquiera del mismo tipo del metodo. Ejemplo:
Declaramos el metodo:
..//
//..
Notese que se utiliza int en lugar de void, lo cual indica que se regresara una variable del tipo integer o
numerico, por lo que dentro del metodo se declara int x=10; que es precisamente un valor numerico, y se
regresa el valor de x, es decir 10. Finalmente el metodo puede ser usado para obtener el valor de 10 del
siguiente modo.
//..codigo//
1 int variable;
2
variable = obtenerValor(); //estamos diciendo que variable vale
3
ahora 10.
//..mas codigo//
Utilizando parametros
Se puede utilizar parametros en un metodo. En el siguiente ejemplo se utilizara un parametro el cual es un valor
que se puede asignar al metodo para realizar operaciones, este puede ser variable y se obtendran diferentes
resultados dependiendo del valor asignado.
Declaramos el metodo:
..//
//..codigo//
1 int variable;
2
variable = obtenerValor(10); //debido a que el parametro es 10, la
3
variable valdra 5
4 //pues el metodo regresa la division del parametro entre 2.
//..mas codigo//
Esta fue una breve introduccin acerca de como se utilizan los metodos en java. Se publicara un programa que
utiliza metodos en la seccin de codigo fuente, revisa esta seccin para descargar ejemplos y practicar, pues en
cuanto a programacin se trata solo se puede aprender practicando. Asi mismo no olvides revisar nuestros
video tutoriales para ver ejecucin de programas en tiempo real.