You are on page 1of 67

Ing.

Juan Vera Castillo


Ing. Juan Vera Castillo
Esto quiere decir que un programa complejo se puede y debe descomponer
en un conjunto de partes.

Estas partes pueden ser un número indeterminado de clases, según sea


necesario o lo que el problema exija.

A su vez las clases también están formadas por partes o sub programas,
conocidos con el nombre métodos.

Ing. Juan Vera Castillo


Las tareas asignadas a los subprogramas pueden ser de diversa índole :
entrada, salida, cálculos, control de otros módulos, etc.

Para que un subprograma T pueda efectuar su tarea tiene que ser llamado o invocado
por el programa principal o por algún otro sub programa que considere necesario el
servicio del subprograma T.

Una vez que el subprograma termina su tarea, devuelve el control al punto donde se
hizo la llamada.

Un subprograma puede llamar a su vez a otros subprogramas.

Ing. Juan Vera Castillo


Ing. Juan Vera Castillo
Los métodos pueden declarar dentro de ellos sus propias variables denominadas
variables locales. Estas variables solo son útiles dentro del método, fuera de éste
no existen.

Las variables de uso compartido, comunes a todos los métodos existentes dentro
de la clase, se denominan variables globales.

Ing. Juan Vera Castillo


Para que una variable sea global debe ser declarada en el área de variables de la
clase, es decir debajo de la declaración de la clase y encima de todos los
métodos.

Ing. Juan Vera Castillo


Una variable local es una variable
que se declara en el interior de un
método, por lo que su ámbito de
trabajo es el interior del método,
es decir, sólo puede ser utilizada
dentro del método donde fue
declarada. No existe fuera del
método.

Este tipo de variable se crea


cuando inicia la ejecución del
método y se destruye al finalizar.
Ing. Juan Vera Castillo
Ing. Juan Vera Castillo
Un método es un sub programa Java que contiene un algoritmo que
puede ser sencillo (por ejemplo un mensaje) o muy complejo, es decir un
código que resuelva un problema también complejo.

Sin embargo esto no quiere decir que el método deba realizar un conjunto
de tareas diferentes (eso nunca).

Las técnicas de diseño de programas dicen claramente que un método


debe realizar una sola tarea, enfatizando que esta tarea podría ser sencilla
o compleja, pero solo una tarea (principio básico de bajo acoplamiento).

Ing. Juan Vera Castillo


Existen dos tipos de métodos :

• Métodos que NO retornan valor  métodos void


• Métodos que retornan UN valor  métodos tipeados

Ing. Juan Vera Castillo


Ing. Juan Vera Castillo
(métodos que NO retornan ningún valor)

Un método tipo void es un sub programa que podría (si hace falta) recibir
datos de entrada, que se escriben dentro de los paréntesis del método, los
cuales se denominan parámetros; pero, no retorna ningún resultado al punto
donde es invocado, razón por el que se le conoce también como método sin
valor de retorno.

maryhuachacac@gmail.com
Ing. Juan Vera Castillo
Los métodos tipo void pueden dividirse a su vez en dos tipos:

1. Métodos tipo void sin parámetros.


2. Métodos tipo void con parámetros.

Ing. Juan Vera Castillo


Métodos tipo void sin parámetros.

Estos métodos no deben


recibir datos de entrada ni
retornar ningún resultado
al punto de su invocación.

Ing. Juan Vera Castillo


Métodos tipo void sin parámetros
Cuando se programa usando métodos se siguen dos etapas.

1. Primero, el método debe definirse. Esto consiste en crear el


método ubicándolo en alguna parte de la clase, debajo del
constructor.
2. Segundo, el método creado debe ser invocado en el lugar
donde se requiera.

Ing. Juan Vera Castillo


( sin parámetros )
Este tipo de método se define de la siguiente manera:

void nombreDelMétodo()
{
Declaración de variables locales
Cuerpo del método
}

Ing. Juan Vera Castillo


( sin parámetros )
Este tipo de método se invoca de la siguiente manera:

nombreDelMétodo();

Ing. Juan Vera Castillo


Métodos tipo void con parámetros
Estos métodos reciben datos
de entrada, ubicados dentro
de los paréntesis del
método, y se les denomina
parámetros.

Como todo método void no


pueden retornar ningún
resultado al punto de su
invocación.
Ing. Juan Vera Castillo
( con parámetros )
Este tipo de método se define de la siguiente manera:

void nombreDelMétodo( tipo1 p1, tipo2 p2, tipo3 p3, . . . )


{
Declaración de variables locales
Cuerpo del método
}

p1, p2, p3  paramétros


Ing. Juan Vera Castillo
( CON parámetros )

Este tipo de método se invoca ó llama de la siguiente manera:

Ing. Juan Vera Castillo


( métodos tipeados )

Ing. Juan Vera Castillo


(métodos que SI retornan un valor)

Un método tipeado o con valor de retorno es un sub programa que podría (si
hace falta) recibir datos de entrada, que se escriben dentro de los paréntesis
del método, los cuales se denominan parámetros; retornando un resultado al
punto donde es invocado, razón por el que se le conoce también como método
con valor de retorno.

Ing. Juan Vera Castillo


Los métodos tipeados o con valor de retorno pueden dividirse a su
vez en dos tipos:

1. Métodos tipeados sin parámetros.


2. Métodos tipeados con parámetros.

Ing. Juan Vera Castillo


Métodos tipeados sin parámetros.

Este tipo de métodos no


reciben datos de entrada;
pero, retornan un
resultado al punto
donde son invocados.

Ing. Juan Vera Castillo


( SIN parámetros )
Este tipo de método se define de la siguiente manera:

Ing. Juan Vera Castillo


( sin parámetros )
Este tipo de método se invoca de la siguiente manera:
txaOut.setText(nombreDelMétodo())
tipo variable = nombreDelMétodo();

El tipo de la variable mostrada debe ser del


mismo tipo que el valor devuelto por el método

Ing. Juan Vera Castillo


Métodos tipeados con parámetros

Estos métodos reciben datos


de entrada a través de
parámetros y retornan un
resultado al punto de su
invocación.

Ing. Juan Vera Castillo


( con parámetros )
Este tipo de método se define de la siguiente manera:

tipo nombreDelMétodo( tipo1 p1, tipo2 p2, tipo3 p3, . . . )


{
Declaración de variables locales
Cuerpo del método
return valor
}

p1, p2, p3  paramétros


Ing. Juan Vera Castillo
( CON parámetros )
Este tipo de método se invoca ó llama de la siguiente manera:

Ing. Juan Vera Castillo


( componente visual Java)

Ing. Juan Vera Castillo


Es un componente visual que tiene la forma mostrada arriba ( a la izquierda).
Posee una flechita en el extremo derecho, que cuando el usuario le hace clic,
aparece en forma de bandera un conjunto de opciones o ítems, de las cuales el
usuario seleccionará solo una.

Ing. Juan Vera Castillo


Los ítems ocupan
posiciones
debidamente
ordenadas.

Ing. Juan Vera Castillo


Cómo
Colocar ítems
al comboBox ?

Ing. Juan Vera Castillo


Ing. Juan Vera Castillo
Borrar los ítems por defecto Y coloque los que usted desee :

Ing. Juan Vera Castillo


Finalmente
cierre todo

Ing. Juan Vera Castillo


Así funciona el comboBox :

Ing. Juan Vera Castillo


Se puede hacer de dos maneras :

int categ = cboCat.getSelectedIndex();


Se obtiene un entero que representa la
posición del ítem seleccionado

String categ = cboCat.getSelectedItem().toString();


Se obtiene un String que representa el
texto del ítem seleccionado

Ing. Juan Vera Castillo


Se aplica solo a variables String.
Es usado para obtener un carácter de una cadena de caracteres.
Se debe indicar la posición del carácter deseado.

Ing. Juan Vera Castillo


Ing. Juan Vera Castillo
En un centro de estudios, los alumnos están categorizados en tres categorías.
A cada categoría le corresponde una pensión mensual básica distinta, en función
de la siguiente tabla:

Ing. Juan Vera Castillo


Semestralmente, el centro de estudios efectúa descuentos en las pensiones de
sus estudiantes a partir del segundo ciclo, en base al promedio ponderado del
ciclo anterior, en porcentajes dados según la tabla siguiente:

Ing. Juan Vera Castillo


Diseñe un programa que determine cuánto de descuento recibirá un
estudiante sobre su pensión básica y a cuánto asciende su pensión neta.

Se deben imprimir los tres valores mencionados.

Ing. Juan Vera Castillo


Ing. Juan Vera Castillo
Proyectar dos clases para la solución :
• Un JFrame o formulario para la interface del usuario (WinEduca)
• Una clase java, que llamará Matricula, esta clase debe contener tres
métodos :
1. Un método con retorno getPensionBasica()
2. Un método con retorno getDescuento() y
3. Un método sin retorno putPensiónNeta().

Ing. Juan Vera Castillo


Ing. Juan Vera Castillo
Notación UML

Ing. Juan Vera Castillo


Construya el
siguiente
proyecto

Ing. Juan Vera Castillo


Ing. Juan Vera Castillo
Escribir el
nombre de
la clase y
Clic en
Finish

Ing. Juan Vera Castillo


Aquí puede ver la clase matricula recien creada

Ing. Juan Vera Castillo


Escriba el esqueleto de la clase
Matricula, donde se esta
especificando que :
getPensionBasica() retorna la
pensión como un int
Se usa el return

getDescuento() retorna el
monto del descuento como un
valor numérico double.
Se usa el return

putPensionNeta() es un método
void, que no retorna nada.
Solo imprimirá la respuesta.

El error producido, es porque el textArea Ver la siguiente diapositiva


no se encuentra en la clase Matricula.
Ing. Juan Vera Castillo
Solución : importar la clase JTextArea, tal como se ve :

Ing. Juan Vera Castillo


La clase
Matricula
Sin errores

Ing. Juan Vera Castillo


Volviendo al formulario y a su código (Source).
Declarar el puntero a la clase matricula

Ing. Juan Vera Castillo


En el Source del Formulario, procediendo a instanciar la
clase Matricula dentro del constructor:

Ing. Juan Vera Castillo


En el Design del formulario, vamos a programar
el botón Procesar :

Ing. Juan Vera Castillo


Aparece el manejador del evento clic,
el método btnProcesarActionPerformed()

Ing. Juan Vera Castillo


Es usado para obtener un carácter de una cadena de caracteres.
Se debe indicar la posición del carácter deseado.

Ing. Juan Vera Castillo


La programación del método
btnProcesarActionPerformed()

El código para copiar


Ing. Juan Vera Castillo
El código para copiar :
private void btnProcesarActionPerformed(java.awt.event.ActionEvent evt)
{
txaOut.setText(""); // para limpiar el TextArea
char scat = cboCat.getSelectedItem().toString();
char cat = scat.charAt(0);
int pensionBas = pMat.getPensionBasica(cat);
txaOut.append("Pensión Básica = " + pensionBas + "\n");
double prom = Double.parseDouble(txtProm.getText());
double mDesc = pMat.getDescuento(prom, pensionBas);
txaOut.append("Descuento por promedio = " + mDesc + "\n");
pMat.putPensionNeta(pensionBas, mDesc, txaOut);
}
Los datos se imprimirán en el TextArea

Ing. Juan Vera Castillo


( se programarán los tres métodos)

Ing. Juan Vera Castillo


Código del
método
getPensionBasica()

Retorna pensión Básica


como valor entero.

Ing. Juan Vera Castillo


Código del método getDescuento()

Código del
método
getDescuento()

Retorna el monto del


descuento como valor
double.

Ing. Juan Vera Castillo


Código del método putPensionNeta()
Código del
método
putPensionNeta()

No retorna nada.
Imprime la pensión neta.

Para terminar, programe usted el botón Limpiar


Ing. Juan Vera Castillo
Ing. Juan Vera Castillo