Está en la página 1de 18

PROGRAMACIN MODULAR

Ricardo Corts Espinosa Francisco Laborde Castro

MTODOS
Un mtodo en la programacin orientada a objetos es una rutina asociada con una clase o un objeto. Un mtodo regularmente consiste de un grupo de lneas de cdigo que realizan una accin en particular. Se pueden modificar las acciones que se realizan o los resultados que se obtienen mediante el paso de parmetros. Los mtodos pueden devolver un valor que llamamos valor de retorno (paradjicamente).

MTODOS
Podemos ver un mtodo como una caja negra a la que podemos meter valores (parmetros) y nos puede devolver salidas (valores de retorno) aunque no sepamos cmo funciona. Los mtodos que devuelven un valor se llaman funciones, mientras que los mtodos que no devuelven nada se llaman procedimientos.

MTODOS

La declaracin de un mtodo est compuesta de dos partes, el encabezado de la funcin y el cuerpo. El encabezado de una funcin tiene la siguietne sintaxis:

acceso [tipo_metodo] tipo_retorno nombreMetodo ([parametros])

Despus del encabezado pueden ir una o ms lneas de cdigo que se ejecutan al llamar el mtodo, estas lneas de cdigo son el cuerpo. Por ejemplo:

public static void main(String args[]) { System.out.println("Hola mundo"); }

MTODOS

El tipo de acceso (o visibilidad del mtodo) puede ser public o private. Los mtodos pblicos permiten que cualquier clase los utilice mientras que los privados slo permiten que la clase actual los utilice.

public void preguntarHora() private void irAlTocador()

Los parmetros de un mtodo son los valores que recibe para poderse ejecutar. Deben estar en una lista de variables separada por comas. Por ejemplo:

public void llamar(String telefono)

CMO SE UTILIZA UN MTODO

Algunas veces podemos llamar un mtodo nicamente escribiendo su nombre como es el caso de setVisible():

this.setVisible(true);

Pero la mayora de las veces vamos a tener que manejar funciones y tendremos que guardar el valor de retorno en alguna variable, por ejemplo:

double raiz = Math.sqrt(50);

La manera correcta de mandar a llamar una funcin consiste en poner el nombre de la funcin e inmediatamente despus un parntesis con los valores de entrada.

TIPOS DE MTODOS

Mtodos estticos: Son mtodos de la clase o compartidos. No necesitan una instancia de la clase para poder correr. Un ejemplo muy utilizado es un mtodo que cuente el nmero de objetos que se han creado. Los mtodos estticos siempre deben tener como tipo de mtodo la palabra clave static.
public static void incrementCreated() {} public static int getNumCreated() {}

Recuerdas el mtodo showMessageDialog(), recuerdas que siempre ponamos el nombre de la clase y no el de una instancia? Es porque es un mtodo esttico.

TIPOS DE MTODOS
Mtodos abstractos: Son mtodos que no tienen implementacin. Puede parecer que estos mtodos son totalmente intiles pero cuando veamos programacin orientada a objetos veremos por qu nos sirven. Getters y setters: Nos permiten obtener y cambiar las propiedades de un objeto. Por convencin los getters (que nos permiten obtener el valor) empiezan con get y los setters con set. Un ejemplo es getText() para obtener la propiedad text de un JTextField y setText() para cambiar la propiedad text.

TIPOS DE MTODOS
Constructores: Tienen una sintaxis especial y nos sirven para construir un objeto. Estos mtodos son los nicos que jams devuelven nada (es decir, no tienen valor de retorno) y siempre deben ser pblicos. Su sintaxis es:

public NombreClase ([parametros]) {}

Destructores: En Java se implementan con el mtodo dispose() y se encargan de liberar la memoria que ocupa un objeto, pero no son necesarios porque en la mayora de los casos Java se encarga de esto automticamente.

POR QU UTILIZAR MTODOS

Utilizamos mtodos porque nos permiten no volver a escribir cdigo repetido y adems nos permiten hacer que el cdigo sea mucho ms fcil de entender.

En el cdigo anterior podemos ver el mtodo calculateArea() que nos devuelve el rea calculada. Aunque en este caso no logramos reducir mucho cdigo repetido s logramos hacer ms fcil de entender el cdigo.

POR QU UTILIZAR MTODOS

En el ejemplo anterior la implementacin de calculateArea() es:

Qu visibilidad tiene el mtodo? Qu valor de retorno tiene el mtodo? Qu parmetros recibe?


Como podemos ver en la implementacin que hay una lnea que inicia con return. Esta es una palabra clave que regresa ese valor como valor de retorno.

EJEMPLOS DE MTODOS

Los getters y setters probablemente son el tipo de mtodo ms utilizado, aunque todava no es objetivo que los conozcamos podemos ver su sintaxis:

En ese caso el this es una referencia al mismo objeto, es decir Mi nombre es el nombre que pasaron como parmetro.

EJEMPLOS DE MTODOS

Muchas veces podemos utilizar mtodos para hacer tareas repetitivas de la interfaz grfica, por ejemplo, limpiar todos los campos:

Ms adelante veremos que los mtodos tambin nos sirven cuando queremos leer y escribir archivos.

EJEMPLOS DE MTODOS

Los mtodos pueden tener varios valores de retorno diferentes dependiendo de lo que reciban como parmetro, por ejemplo el siguiente mtodo recibe un nombre de usuario y una contrasea y slo devuelve verdadero si el nombre de usuario es Magus y el password es superpass, en caso contrario regresa falso.

EJEMPLOS DE MTODOS

Otro ejemplo muy similar:

ALCANCE DE VARIABLES

Variables Globales

Una variable declarada fuera de algn mtodo es considerada global y la puede utilizar cualquier mtodo.
Una variable declarada dentro de un bloque (un conjunto de lneas de cdigo que se encuentran entre llaves { }) slo puede ser leda dentro de ese mismo bloque.

Variables Privadas

ALCANCE DE VARIABLES

Como puedes ver en el cdigo el metodo2() no puede leer la variablePrivada porque no tiene acceso a ella ya que es parte del metodo1(). Qu sucede cuando declaras una variable dentro de un if?

CUNDO UTILIZAR MTODOS


Como ya vimos podemos utilizar mtodos para una gran cantidad de tareas, pero cmo saber cundo debemos utilizar un mtodo y cuando es mejor dejar el cdigo como esta? Regularmente podemos seguir tres reglas:

Si vas a repetir algunas lneas de cdigo deberan estar en un mtodo Si va a hacer ms claro el cdigo debera estar en un mtodo Un mtodo largo debera romperse en sub-mtodos para que sea ms claro

También podría gustarte