Vous êtes sur la page 1sur 20

Estructuracin y modularidad de los

programas
Estructuracin y modularidad
Hay varios criterios que uno quiere cumplir cuando
escribe un programa
Un programa bien escrito suele ser
compacto: no innecesariamente largo
legible: fcil a entender y utilizar para otros
robusto: no fallar con entradas inesperadas
reutilizable: se puede reutilizar parte del programa
Reutilizacin
A menudo queremos aplicar una misma operacin en
varias programas
Podemos copiar el cdigo y manipular las entradas
para que funcione en otro programa
No obstante, qu pasa si queremos cambiar el
cdigo?
Tenemos que cambiarlo en todos los lugares donde
halla
Mejor tener el cdigo en un mismo lugar
Mtodos
Mtodos en Java son mdulos de cdigo que se
pueden tratar individualmente
Un programa normalmente consiste en varios
mtodos
Ventajas:
abstraccin: el usuario de un mtodo no necesita conocer el
proceso, slo la entrada y salida
reutilizacin: un mtodo de un programa se puede reutilizar
en otro
legibilidad: ms fcil entender y escribir un programa
separado en mdulos
compactibilidad: no contiene varias copias del mismo cdigo
Declaracin de mtodos
Sintaxis:
<acceso> <tipo> <identificador>(<entrada>) {
<bloque>
}
El acceso especifica quin tiene acceso al mtodo
El tipo especifica cual va a ser el resultado del
mtodo
El identificador es el nombre del mtodo
La entrada es una secuencia de variables separadas
por coma
Acceso a mtodos
A veces uno quiere restringir el acceso a mtodos
Es posible cambiar el acceso en la declaracin de
un mtodo
En este curso, el acceso de un mtodo siempre
ser
public static
Eso significa que se puede usar el mtodo en
cualquier otro programa
Tipos de mtodos
El tipo de un mtodo especifica cual ser el
resultado del mtodo
Por ejemplo, si el tipo de un mtodo es int, el
resultado del mtodo es un nmero entero
Un mtodo puede tener cualquier tipo entre los
que conocemos
Adems, el tipo de un mtodo puede ser void
Eso significa que el mtodo no devuelve ningn
resultado
Entrada de mtodos
Cada mtodo tiene una entrada
La entrada es una secuencia de variables
separadas por coma
La entrada puede ser vaca, es decir, una secuencia
de 0 variables
Las variables especifican el tipo de informacin
que el usuario necesita proveer para aplicar el
mtodo
No se inicializan las variables de entrada
Salida de mtodos
Si el tipo de un mtodo es otro que void, el
mtodo necesita una salida
La salida representa el resultado del mtodo dado
una entrada
Para que un mtodo devuelve un resultado se usa la
palabra return
El significado de return es terminar el mtodo y
devolver el valor adjunto
Ejemplo
Ejemplo de un mtodo que realiza multiplicacin:
public static int mult(int a, int b) {
int resultado = a * b;
return resultado;
}
Llamar a mtodos
Para llamar a un mtodo hay que especificar los
valores de entrada
Sintaxis:
<identificador>(<valores>)
Los valores de entrada son separados por coma y
sus tipos tienen que corresponder a los tipos de las
variables de entrada en el mismo orden
Para guardar el resultado de un mtodo, hay que
utilizar una variable del mismo tipo
Llamar a mtodos
Si el mtodo halla en un programa fuera del
programa actual, necesita especificar el nombre
del otro programa
Sintaxis:
<programa>.<identificador>(<valores>)
Ejemplos:
TextIO.putln(Entrar un nmero entero );
int numero = TextIO.getInt();
Ubicacin de mtodos
Todos los mtodos de un programa hallan dentro
de las llaves del programa
Nunca un mtodo halla dentro de otro mtodo!
Consecuentemente, no hallan dentro de main, que
tambin es un mtodo
Ejemplo
Ejemplo de un mtodo que realiza multiplicacin:
public static int mult(int a, int b) {
int resultado = a * b;
return resultado;
}

public static void main(String[] args) {


int producto = mult(15, 17);
System.out.println(producto);
}
Variables de mtodos
Dentro de un mtodo se puede usar variables
No obstante, una variable declarada en un bloque
slo existe dentro de este bloque!
No se puede usar su identificador dentro de otros
mtodos
Ejemplo
Ejemplo de un mtodo que realiza multiplicacin:
public static int mult(int a, int b) {
int resultado = a * b;
return resultado;
}

public static void main(String[] args) {


int producto = mult(15, 17);
System.out.println(a * b);
}
La pila (stack)
Un mtodo puede llamar a otro mtodo como
subrutina
Consecuentemente, varios mtodos pueden
ejecutar al mismo tiempo
Siempre hay slo un mtodo activo
Los otros mtodos estn esperando que el mtodo
activo termine y devuelve su resultado
Java usa una pila (stack) para recordar los mtodos
que estn ejecutando
El mtodo activo est arriba de la pila
La pila (stack)
public static int mult(int a, int b) {
int resultado = a * b;
return resultado;
}

public static void main(String[] args) {


int producto = mult(15, 17);
System.out.println(producto); mult
} main
Ejercicio
Escribir un mtodo que calcule la factorial de un
nmero
Ejercicio
Resolver el problema del supermercado con
mtodos

Vous aimerez peut-être aussi