You are on page 1of 18

1 de 18

Taller de creacin de mtodos en java


Docente: Ing. Orlando Barcia Ayala MSc.

Objetivos.

Conocer y aplicar la codificacin para creacin de mtodos.


Utilizar mtodos creados por el programador
Realizar programas orientados a objetos bsicos
Detectar la capacidad de lectura y realizacin de actividades en base a manuales

Las actividades se realizarn en el proyecto y clases indicadas

Parte 1. Conceptos previos


Parte 2. Codificacin
Parte 3. Taller
Parte 4. Ponencia y debate

Proceso y evaluacin de la actividad.


El documento est formado por preguntas a contestar, sea en cdigo o una respuesta literal.
Proceso y evaluacin de la actividad.
El documento est formado por preguntas a contestar, sea en cdigo o una respuesta literal.
Evaluacin de la actividad
Cada vez que se conteste una pregunta, el estudiante comunicar al docente:
realiza la lectura de la pregunta
contesta la pregunta
Esto ser la evaluacin al estudiante, que debera tener ms de 2 respuestas realizadas.

Importante:

Leer BIEN el documento.


Toda inquietud o duda solicitar ayuda al docente.
El documento es autosuficiente. Es decir con la codificacin indicada puede resolver las
interrogantes planteadas.

Las respuestas que no tienen cdigo, las debe realizar como comentarios. .SOLO 1 (UNA)

lnea por respuesta. Debe sintetizar la respuesta

2 de 18

Utilizar la diapositiva relativa a la mtodos u otras fuentes tales como libros o internet.
Tcnica: bsqueda de informacin bibliogrfica en documentos

Nombre del proyecto: Taller de creacin de mtodos Apellido 1 y Apellido 2

Cambiar por los respectivos apellidos de los integrantes del grupo.


Clase: Cuadrado.
Crear la estructura mnima de todo programa en java ( public static void main)
Realizar el cdigo TODO en la misma clase

Parte 1. Conceptos previos

Las Operaciones, se las conoce como:

mtodos. o
acciones

Los Mtodos se identifican porque:

Tienen parntesis,
Antes del nombre tienen un punto.
La primera letra de la primera frase es en minscula, desde la segunda frase en adelante
es en mayscula la primera letra.

Pregunta del mundo real. Existir diferencia entre usar un regulador de voltaje y crear el
regulador de voltaje?
Hasta el momento se han utilizado mtodos. No se los ha creado
Por lo tanto la actividad ahora es CREAR los mtodos.
El punto de vista ha cambiado.

3 de 18
Qu operacin realizan los mtodos siguientes?
sentencia
System.out.print (
);
System.out.println (
);
Math.pow( x, y );
Math.sin ( x );
Math.floor( x) ;
Math.random( );
.nextInt ( );
.nextDouble ( );

main (

Operacin que realiza

Uso de los mtodos mediante Clases


Identifique: En el cdigo Cules son las clases, cules los mtodos?
Cdigo
System.out.print (
System.out.println (
Math.pow( x, y );
Math.sin ( x );
Math.floor( x) ;
Math.random( );

Clase

Mtodo

);
);

Uso de los mtodos mediante objetos.


Nota: Cuando hay la sentencia new se considera que la variable que se crea es un objeto.
En la Programacin orientada a objetos P.O.O.

Una clase es la plantilla o molde para crear objetos.


Un objeto es una instancia de una clase.

Por lo tanto se crea una clase y posteriormente uno o muchos objetos de esa clase.
Identifique: En el cdigo Cules son las clases, cules los mtodos, cules los objetos?
Cdigo

Clase

Mtodo

Objeto

Scanner entrada;
entrada= new Scanner(System.in);
entrada.nextInt ( );
entrada.nextDouble ( );
Quin cre los mtodos println( ) , print( ) , nextInt( ) ? Usted los cre o Usted los utiliza?

4 de 18
Identificar si se est creando o utilizando los mtodos?
sentencia
System.out.print (
);
System.out.println (
);
Math.pow( x, y );
Math.sin ( x );
Math.floor( x) ;
Math.random( );
entrada.nextInt ( );
entrada.nextDouble ( );

Identificar. ( Creacin o utilizacin)

INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBJETOS. P.O.O NIVEL BSICO.


Importante: La perspectiva cambia. Ahora no solo se va a utilizar mtodos. Tambin se los va a
crear.
Qu es un mtodo?
Son subalgoritmos , que estn formados por un grupo de cdigo que permiten resolver un
problema de forma especfica.
Para qu sirven?

Sirven para organizar mejor el programa principal.


En vez de utilizar un solo programa , se divide el problema en subproblemas a resolver.
Cada subproblema es solucionado por un subalgoritmo o mtodo
Se aplica la tcnica divide y vencers.

Por lo tanto la estrategia es


Descomponer el problema mayor en varios subproblemas que sern solucionados por
cada subalgoritmo (mtodo)
Pregunta de la vida real. Si contratan a 5 compaeros para realizar un trabajo de instalacin
elctrica de una casa de 5 departamentos. Qu considerara si solo a Usted le asignan efectuar
toda la instalacin? Es justa y lgica esta decisin?
Que considerara si la instalacin de cada departamento es asignada a un compaero. Es justa y
lgica esta decisin?

Esto es lo que ocurre con public static void main.

main( ) es un mtodo denominado principal


En este momento main( ) est solucionando todos los problemas
Pero probablemente no es justo ni lgico asignar todo el problema a este mtodo

5 de 18
Por lo tanto. Se podran crear otros mtodos?

Parmetros y argumentos.

Los datos que estn entre parntesis cuando se crea el mtodo se denomina parmetros.
Los datos que estn en el mtodo cuando se utiliza el mtodo se denominan argumentos.
Observar que se refieren a los mismos elementos. La diferencia es el momento de
creacin o de utilizacin
Si un mtodo cuando se crea tiene n declaraciones de variables entre los parntesis
(parmetros), cuando se lo utiliza debe realizarlo con los mismos n elementos (valores o
variables) entre los parntesis (argumentos)

Parte 2.
CODIFICACIN DE MTODOS.
En referencia a lo indicado de descomposicin del problema en subproblemas a resolver y que no
todo debera estar en el main se procede a solicitar lo siguiente.
Crear la clase Cuadrado.
public class Cuadrado
{
}
Ejecutar el programa
Qu ocurre al ejecutar el programa?

Toda clase que se desee ejecutar debe tener el mtodo main. Cuando se utilicen ms mtodos

6 de 18
Crear un mtodo en la clase Cuadrado que realice el clculo del rea de un cuadrado de lado 3.
El cdigo debe estar DENTRO de las llaves de la clase, arriba o abajo del mtodo main u otros
mtodos.

Un mtodo cuando se crea no puede estar dentro de otro, es decir


cuando se crea, ningn mtodo puede estar dentro de otro mtodo.

public void area( )


{
double lado ;
lado = 3;
double area;
area = lado*lado ;
System.out.println(El rea del cuadrado uno es +area ) ;
}
Qu similitud o diferencias puede detectar respecto al cdigo ubicado dentro del mtodo area y
lo codificado en ejercicios anteriores en el mtodo main? Es similar?

Crear un mtodo en la clase Cuadrado que realice el clculo del rea de un cuadrado de variable X.
El cdigo debe estar DENTRO de las llaves de la clase, arriba o abajo del mtodo main u otros
mtodos.

Un mtodo cuando se crea no puede estar dentro de otro, es decir


cuando se crea, ningn mtodo puede estar dentro de otro mtodo.

public void areaDos ( double x )


{
double lado ;
double area;
area = x*x ;
System.out.println(El rea del cuadrado dos es +area ) ;
}
Observar la mayscula en la segunda frase. Esto segn convenciones de escritura
Qu similitud o diferencias puede detectar respecto al cdigo anterior?

Crear un mtodo en la clase Cuadrado que realice el clculo del rea de un cuadrado de variable X
y que retorne un valor que puede ser utilizado posteriormente.

7 de 18
El cdigo debe estar DENTRO de las llaves de la clase, arriba o abajo del mtodo main u otros
mtodos.

Un mtodo cuando se crea no puede estar dentro de otro, es decir


cuando se crea, ningn mtodo puede estar dentro de otro mtodo.

public double areaTres( double x )


{
double lado ;
double area;
area = x*x ;
System.out.println(El rea del cuadrado tres es +area ) ;
return area ;
}
Observar la mayscula en la segunda frase. Esto segn convenciones de escritura

Qu similitud o diferencias puede detectar respecto al cdigo anterior?


Pueden todos los mtodos tener el mismo nombre con los mismos argumentos (lo que est entre
parntesis)?
Cul es estructura identifica para para crear TODO mtodo en java?

Realizar el cdigo para probar y ejecutar la clase


Solicitan crear el mtodo main.
El cdigo debe estar DENTRO de las llaves de la clase, arriba o abajo del otros mtodos.

Un mtodo cuando se crea no puede estar dentro de otro, es decir


cuando se crea, ningn mtodo puede estar dentro de otro mtodo

Dentro del public static void main digitar


public class Cuadrado
{
public static void main( String[ ] args )
{
Cuadrado c;
c = new Cuadrado ( );
c.area( );
c.areaDos( 9);

8 de 18
c.areaTres(6);
}
//. otros mtodos creados
// .
}
Ejecutar el programa. Describa que ha ocurrido. La parte del new es similar a otra codificacin?
Recordando la primera codificacin se indica que cuando est la palabra clave new se crea un
objeto.

Tcnica de Prueba, ensayo y error:


Cambiar c.areaDos( 9 ) ; por c.areados( 9)
Por qu sale error?

Cambiar c.area( ) ; por c.area(3);


Por qu sale error?

Cambiar c.areaTres(6) ; por c.areaTres(6, 9);


Por qu sale error?

EXPLICACIN DE LA CREACIN Y USO DE MTODOS.


En el ejercicio descrito crea y utiliza los mtodos creados por el programados. No solamente los
utiliza.
Primero. Creacin de los mtodos
public void area( )
{
//cdigo similar a lo que realiza en el main. No tiene return porque est void
}

9 de 18
public void areaDos ( double x )
{
//cdigo similar a lo que realiza en el main. No tiene return porque est void
}
public double areaTres( double x )
{
// cdigo similar a lo que se realiza en el main . S tiene return porque NO dice void
return area ;
}
Segundo. Creacin del objeto para poder utilizar los mtodos creados
Cuadrado c;
c = new Cuadrado ( );
utilizando una lnea
Cuadrado c = new Cuadrado( );
Observar que Cuadrado es el nombre de la Clase. En cambio c es una variable y puede ser
cualquier identificador.
Tercero. Usar los mtodos. (Previamente debe estar creado el objeto)
c.area( );
c.areados( 9);
c.areatres(6);

// llamada al mtodo area( ) creado por el programador


// llamada al mtodo areados(x) creado por el programador
// llamada al mtodo areatres(x) creado por el programador

Cmo se codifican los mtodos en una clase Java (formato de un mtodo)? Cul es su
estructura?
TODO MTODO EN JAVA TIENE LA SIGUIENTE ESTRUCTURA

Si retorno es void se omite la palabra clave return. (void significa vacio)


Si retorno NO es void debe ubicar ah un tipo de dato: int, double, boolean, String
o Debe aadir return, el valor o variable en return debe coincidir con el tipo de dato.

Qu tipos de datos puede recibir el mtodo?

Los datos que recibe el mtodo estn dentro de los parntesis (argumento)
o Cuando se crea el mtodo debe especificarse el tipo de dato (parmetro)

10 de 18

Puede recibir int, double, boolean , String, objetos y otros


En caso de no recibir datos, en los parntesis se deja con espacios o vaco.

Cundo se est creando el mtodo Cmo realizo la codificacin cuando se tiene varios datos que
puede recibir el mtodo?
Cuando hay varios datos estos se separan con la coma (, ) indicando el tipo de dato de la variable.
Ejm public void mensaje( int dato1, double dato2, String dato3)
Qu tipos de datos puede retornar o no retornar el mtodo?

Puede retornar int, double, boolean, String, char , objetos y otros.


Cuando es void (vacio) significa que NO retorna.

Qu diferencias hay entre que un mtodo retorne y no retorne (void) valores?


Una de las diferencias es que un mtodo que no retorna, nunca podr asignarse a una variable.
En el ejercicio el mtodo areatres( ) puede asignarse a una variable (porque tiene return).
double resultado = c.areatres( )
En cambio areados( ) y area( ) no pueden asignarse a una variable
double resultado = c.areados( ); //Esto es un error
Cmo se utiliza los mtodos en un programa java?
FORMA PARA LLAMAR O UTILIZAR CUALQUIER MTODO.
Clase. metodo ( );
objeto. metodo ( );
Qu consideraciones hay entre las variables de los parntesis cuando se utiliza el mtodo
(argumentos) y cuando las variables de los parntesis cuando se crea el mtodo (parmetro?
Una de las diferencias es que cuando se crea el mtodo va un tipo de dato y variable
Cuando se crea es de la siguiente forma en los parntesis Ejm
public void areados ( double x )
Cuando se utiliza el mtodo solo va la variable y/o valor. NUNCA va el tipo de dato
c.areados( m )
Cmo se crean los objetos en java?
CREAR TODO OBJETO
Clase objeto ;
Objeto = new Clase( );

11 de 18
o utilizando una lnea
Clase objeto = new Clase( );

Qu es un atributo en java?
Los atributos son variables que se declaran como toda variable pero directamente en la clase, no
en el mtodo. La ventaja es que puede ser utilizada en cualquier mtodo.
public class Nombre
{
tipodato nombrevar;
}

12 de 18
Parte 2. b.
Clase: Rectangulo
Crear una clase Rectangulo que contenga como atributos base y altura. Calcular el rea y
permetro del mismo.
Utilice P.O.O para la solucin del problema

Solucin:
Crear la clase Rectangulo
public class Rectangulo
{
}

Crear dos atributos dentro de la clase Rectangulo


public class Rectangulo
{
double base;
double altura;
}
Nota: observar que se crean directamente en la clase NO en el mtodo main ni en ningn otro
mtodo
IMPORTANTE. Todos los mtodos son dentro de la clase. Un mtodo cuando se crea no puede
estar dentro de otro.
Crear un mtodo llenarBase que , asigne el valor a la variable base (atributo)
public void llenarBase( double b)
{
base= b;
}

Cul es la diferencia entre las variables dentro del mtodo y variables atributos?

Crear un mtodo llenarAltura que , asigne el valor a la variable altura (atributo)


public void llenarAltura( double a)
{

13 de 18
altura = a;
}

Cul es el alcance, scope o mbito de la variable base, altura , b y a?

Crear un mtodo llenarTodo, que llene a la vez la base y la altura.


public void llenarTodo( double a, double b)
{
altura= a;
base= b;
}
Crear un mtodo que no reciba datos en los parntesis y que calcule el rea del rectngulo:
area = base * altura
public double calcularArea( )
{
return base*altura;
}

Crear un mtodo que no reciba datos en los parntesis y que calcule el permetro del rectngulo
P = 2*base + 2*altura
public double calcularPerimetro( )
{
return 2*base+2*altura;
}

Ejecute el programa Por qu no funciona?

Crear el mtodo main


public static void main(String[ ] args)

14 de 18
{
Rectangulo r = new Rectangulo( );
r.llenarTodo(6 , 5 );
double x, y;
x= r.calcularArea( );
y= r.calcularPerimetro( );
System.out.println(Area + x);
System.out.println(Perimetro + y);
}

Ejercicio completo
public class Rectangulo
{
double base;
double altura;
public void llenarBase( double b)
{
base= b;
}
public void llenarAltura( double a)
{
altura = a;
}
public void llenarTodo( double a, double b)
{
altura= a;
base= b;
}
public double calcularArea( )
{
return base*altura;
}
public double calcularPerimetro( )
{
return 2*base+2*altura;
}

15 de 18

public static void main(String[ ] args)


{
Rectangulo r = new Rectangulo( );
r.llenarTodo(6 , 5 );
double x, y;
x= r.calcularArea( );
y= r.calcularPerimetro( );
System.out.println(Area + x);
System.out.println(Perimetro + y);
}
}//fin de clase
Describa las diferencias y similitudes entre la codificacin del mtodo main y otros mtodos.
COMPARACIN DE MTODOS CON EL MAIN

16 de 18

SINTESIS
CREAR CUALQUIER OBJETO
Clase objeto = new Clase( );
FORMA PARA LLAMAR O UTILIZAR CUALQUIER MTODO.
Clase. metodo ( );
objeto. metodo ( );
FORMA PARA CREAR TODO METODO
public retorno nombre ( )
{

return si no es void

17 de 18
Parte 3. Taller
ACTIVIDAD AUTNOMA
Realizar un programa mediante Clases, atributos, mtodos y objetos. P.O.O que:
Cree 5 personas y por cada una de ella, Ingrese el apellido, ingrese la edad, ingrese el sueldo y
muestre el dato concatenado de cada uno de sus atributos.
Requerimientos:
Clase : Persona
Ingreso y salida de datos con Scanner
MTODO 1

Realizar un mtodo que retorne un String, el mtodo se llame ingresarApellido, no reciba


parmetros en el mtodo.
La operacin es: Muestre un mensaje que ingrese el apellido y lo guarde en el atributo
apellido.

MTODO 2

Realizar un mtodo que retorne un int,


El mtodo se llama ingresarEdad
No hay parmetros en el mtodo
La operacin es:
Muestre un mensaje que ingrese la edad
Guarde en el atributo edad
Nota: no olvidar realizar la conversin.

MTODO 3

Realizar un mtodo que no retorne nada


El mtodo se llama ingresarSueldo
El mtodo recibe una parmetro de tipo double para el sueldo inicial
La operacin: ingresa un sueldo y lo suma al sueldo inicial.
Guarda el sueldo resultante en el atributo sueldo.
Nota: no olvidar realizar la conversin.

MTODO 4

Realizar un mtodo que no devuelva nada


El mtodo se llama mostrar
El mtodo no tiene parmetros
La operacin: Mostrar todos los atributos concatenados

18 de 18
Parte 4. Ponencia y debate
Agruparse de acuerdo al criterio del docente
Contestar las interrogantes.
El grupo con ms puntos gana la prueba
Interrogantes:
1. Pregunta del mundo real. Existir diferencia entre usar un regulador de voltaje y crear el
regulador de voltaje?
2. Identifique: En el cdigo Cules son las clases, cules los mtodos?
3. Identifique: En el cdigo Cules son las clases, cules los mtodos, cules los objetos?
4. Identificar si se est creando o utilizando los mtodos?
5. Qu es un mtodo?
6. Para qu sirven?
7. Cul es la estrategia de utilizar mtodos?
8. Comparando los ejercicios. Cmo se codifican los mtodos en una clase Java (formato de
un mtodo)? Cul es su estructura?
9. Qu tipos de datos puede recibir el mtodo?
10. En la creacin del mtodo Cmo realizo la codificacin cuando se tiene varios datos que
puede recibir el mtodo?
11. Qu consideraciones hay entre las variables de los parntesis cuando se utiliza el mtodo
y cuando se crea el mtodo?
12. Qu tipos de datos puede retornar o no retornar el mtodo?
13. Qu diferencias hay entre que un mtodo retorne y no retorne (void) valores?
14. Cmo se utiliza los mtodos en un programa java?
15. Cmo se crean los objetos en java?
16. Qu es un atributo en java?
17. Cul es la diferencia entre las variables dentro del mtodo y variables atributos?
18. Cul es el alcance, scope o mbito de la variable atributos y las de los mtodos?
19. Existirn ocasiones en que no se ejecuta un programa Cul es una de las probables
causas?
20. Describa las diferencias y similitudes entre la codificacin del mtodo main y otros
mtodos.