2. Métodos Son el equivalente a los procedimientos de los lenguajes no OO. Un métodoes un bloque de códigodefinidodentro de unaclasequeproporciona un mecanismopararealizarunaacción. Un métodotieneacceso a todos los atributos de suclase. Un métodopuedeinvocarotrosmétodos En Java no se puededefinir un métododentro de otro. La ejecución de todos los programas se inicia en el método main.
3. Definición de métodos (I) Sintaxis para la definición de un método: <tipoRetorno> <nombreMetodo>(< parametros >...) { <instrucciones>...} La declaración de un método tiene cuatro partes básicas: El tipo del valor de retorno del método (tipo). Si no devuelve ningun valor debe ser void. El nombre del método (nombreMetodo) Una lista de parámetros (parametros). Casa parámetro tiene la forma <tipo> <argumento>. Se separan con comas. El cuerpo del método (instrucciones).
4. Definición de métodos (II) <instrucciones>, Conjunto de instrucciones que implementan la tarea que debe realizar el método. Si devuelve un valor debe finalizar con la sentencia return return <valor>; <valor> Debe ser del mismo <tipoRet> con que se ha declarado el método. El código se ejecuta hasta alcanzar la instrucción return (si devuelve un valor) o hasta el final del método. Se pueden declarar variables locales si son necesarias.
5. Ejemplos de Métodos public class Circulo { // Atributos double radio; String color; // Metodos void asigRadio( ){ … } double area( ){…} } double obtRadio( ){ return radio; } void asigRadio(intnuevoRadio){ radio = nuevoRadio; } public double Area( ) { return radio*radio*PI; }
6. final double PI=3.1416; publicCirculo(String c, double r) { color=c; radio=r; } publicvoidmain (String …){ Circulo c = new Circulo(“rojo”,2.5); System.out.println(“ El radiodel circulo es:” +c.obtRadio()); System.out.println(“Vamos a cambiar el varlor de radio”); c. asigRadio(3);
8. Ejercicio Elaborar un programa en Java, utilizando el método constructor y los métodos que indica la clase, de tal manera que dado el número de día (un valor entre 1 y 7 , imprima lunes si es 1, martes si es 2 y así sucesivamente.
10. Ejercicio 2 Elaborar un programa en Java para calcular el promedio de calificaciones de un estudiante que cursa 5 experiencias educativas, debe incluir el método constructor que establezca el nombre del alumno. La variable calificación es local al método calcularpromedio.
12. Parametros Las variables en la lista de parámetros se separan con comas. Los parametros de la lista en la especificación del método, son llamados parámetros formales. Cuando un método es llamado, estos parámetros formales son reemplazados por los parámetros actuales. Los parámetros actuales deben ser equivalentes en tipo, orden y número a los parametros formales.
13. char calc (int num1, int num2, String mensaje) { int sum = num1 + num2; char result = mensaje.charAt (sum); return result; } Parámetros - Ejemplo num = 3 ch = obj.calc (2, num, “Hola Mundo");
14. Paso de parametros por valor Cuando es invocado un método con un parámetro de tipo primitivo, tal como “int”, el valor del parámetro actual es pasado al método. El valor actual de la variable fuera del método no es afectado, independientemente de los cambios hechos al parámetro formal dentro del método.
15. Parametros por valor - Ejemplo class PruebaPasoPorValor { public static void main(String[] args) { int times = 3; System.out.println(“Antes del llamado, la variable times es”+times); nPrintln(“Bienvenido a Java!”,times); System.out.println(“Despues del llamado, la variable times es” + times); } static void nPrintln(String mensaje, int n) { while (n > 0) { System.out.println(“n = “+n); System.out.println(mensaje); n--; } } }
16. Paso de parametros por referencia Se pueden pasar objetos a métodos como parámetros actuales Cuando se pasa un objeto al método la referencia del objeto es pasado al parámetro formal Cualquier cambio al objeto local que ocurra dentro del método afectará al objeto original que fue pasado como argumento.
17. Parametros por referencia -Ejemplo class PruebaPasoPorReferencia { public static void main(String[] args){ Circulo miCirculo; miCirculo = new Circulo(5.0, "blanco"); imprimeCirculo(miCirculo); colorCirculo(miCirculo, "negro"); imprimeCirculo(miCirculo); } public static void colorCirculo( Circulo c, String color) { c.color = color; } public static void imprimeCirculo(Circulo c) { System.out.println("El área del circulo de radio " + c.getRadio( ) + " es " +c.Area()); System.out.println("El color del Circulo es " +c.color); } }
18. Parametros por referencia –Ejemplo (cont.) class Circulo { private double radio; String color; public Circulo(double r, String c){ radio = r; color = c; } public double getRadio( ){ return radio; } public double Area( ){ return radio*radio*Math.PI; } }
19. Ejercicios Codificar un método denominado imprimepares en java que imprima los números pares que existen del 50 al 100. Codificar el programa que pruebe el método anterior Codificar un método denominado sumarnumeros en java que obtenga la sumatoria entre los números del 1 al 15 Y devuelva el resultado en una variable de tipo entero. Codificar el programa que pruebe el método anterior