[MÚSICA] [MÚSICA] Bienvenidos nuevamente, en esta sección trabajaremos el concepto de método e instrucción, hasta el momento hemos visto una forma de definir los elementos que participan en nuestro problema, sus características y las formas en que se relacionan entre sí. Sin embargo, no tenemos un mecanismo para acceder a esta información, manipularla o hacer cálculos alrededor de ella. Para esto nos servirán los métodos. En general, los métodos nos permiten definir el comportamiento de una clase. Es decir, la forma en que recibe, manipula y entrega información a otras clases. Pensemos en nuestras pizzas, de una pizza quisiéramos, por ejemplo, poder informar la cantidad producida o modificar su precio o calcular e informar las ganancias que generan por unidad. Veamos cómo se declara un método en Java y luego trataremos de aplicar lo visto en nuestro ejemplo. Para crear un método, iniciamos definiendo la visibilidad, posteriormente un tipo de retorno, esto es el tipo de dato de la información que entrega el método. En caso de que el método no entregue información, diremos que es de tipo voit. A continuación, indicaremos un nombre para el método. En caso de que el nombre tenga varias palabras se recomienda usar la misma técnica usada en los atributos. Posteriormente indicaremos los parámetros del método, esto es la información adicional, es decir, que no se encuentra definida previamente en la clase, y que necesita el método para poder completar las tareas que le hemos asignado. Finalmente abriremos y cerraremos corchetes, entre estos pondremos las instrucciones del método, es decir, cada una de los pasos que debe realizar para cumplir las tareas que le hemos asignado, a la parte superior del método la llamaremos "asignatura", y a la parte entre llaves o corchetes la llamaremos "cuerpo". Tratamos de declarar los métodos que nos permiten realizar a las acciones planteadas sobre las pizzas, iniciemos con el método que informa la cantidad producida. Para esto traigamos la declaración de la clase pizza que ya hemos construido, notemos que lo que se quiere hacer es devolver el valor almacenado en el atributo, cantidad producida. Para construir el método diremos que la visibilidad es pública, diremos que el tipo de retorno es int, pondremos un nombre significante, por ejemplo, "dar cantidad producida" y dado que no necesitamos de información adicional para poder completar las tareas que le hemos asignado al método, diremos que los parámetros son vacíos. Como instrucción, usaremos la instrucción de retorno, esto es pondremos la palabra, "return" seguida del valor que queremos informar, debemos notar que el tipo de dato del valor que queremos informar y el tipo del método son el mismo, ahora tratemos de construir el método que nos permite modificar el precio de la pizza, para esto vas a traer la declaración de la clase pizza, en este caso debemos cambiar el valor del atributo, "precio de venta". Iniciemos nuevamente diciendo que el método es público, esto quiere decir que podrá ser accedido por otras clases, dado que el método no informa ningún valor, simplemente modifica uno, miremos que es de tipo voit, le pondremos un nombre significante, por ejemplo, “cambiar precio” y diremos que como parámetro requiere el nuevo precio que queremos asignar a la pizza. Para declarar los parámetros siempre indicaremos su tipo y el nombre para poder referirnos a ellos, como instrucción en este caso usaremos una instrucción designación, esto es diremos a quién le vamos a asignar el valor, igual y el valor que queremos asignar, para nuestro ejemplo es, al atributo precio de venta y le asignaremos el valor que viene almacenado en el parámetro nuevo precio. Finalmente construyamos el método que nos permite calcular e informar la ganancia que genera una unidad de la pizza. Nuevamente diremos que el método es público, diremos que es de tipo double y le pondremos el nombre, “dar ganancia unitaria”, dado que para hacer el cálculo solo necesitamos los atributos costo de producción y precio de venta, no necesitamos parámetros, como instrucción ya sabemos que podemos usar la instrucción de retorno, en este caso devolveremos la diferencia entre el precio de venta y el costo de producción. En este caso, dentro de la instrucción de retorno hemos incluido una operación aritmética lo cual es completamente válido. Veamos otra forma de construir el mismo método, pero está vez lo que haremos es crear una variable, para hacer esto debemos indicar el tipo de la variable, un nombre para poder referirnos a ella y el valor que le queremos asignar. En este caso, hemos dicho que a la variable resta le queremos asignar el resultado de la diferencia entre el precio de venta y el costo de producción de la pizza. Finalmente, para completar el método, incluiremos nuevamente una instrucción de retorno, en este caso devolvemos la variable que acabamos de crear. Veamos un resumen de lo que hemos visto. Los métodos tienen una asignatura y un cuerpo, qué es las instrucciones que debe realizar para completar las tareas que le hemos asignado, las instrucciones que podemos incluir hasta ahora son, instrucciones de retorno, de asignación, operaciones aritméticas y creación de variables. Las operaciones aritméticas pueden ser de suma, de resta, de multiplicación, la cual marcaremos con el asterisco, de división y de residuo o módulo, esto es el residuo de la división entera. En cuanto a la asignación, podemos describir que una variable o atributo es igual a un valor, pero en este caso, por ejemplo, que tenemos que "x" es igual a "x+y" podemos resumirlo a abreviarlo como "x+=y". En caso que a nuestra variable solo queramos aumentarle una unidad, es decir, que queramos hacer "x+=1", podemos resumirlo como "x++". Veamos ahora algunas consideraciones especiales para la operación de división. En este caso, el tipo de dato del resultado está dado por el tipo de dato de los operandos. Es decir, si hacemos una división entre enteros y reales, reales y reales o reales y enteros, tendremos como resultado un real. Sin embargo, si realizamos una división entre dos enteros, tendremos como resultado un entero. Esto quiere decir, si tenemos las variables "X=5" y "y=2" al realizar la división, lo que obtendremos es un 2, aunque esperemos un 2.5 para evitar esto lo que podemos hacer es usar la técnica de casting, es decir, indicarle a Java que tome el resultado como un valor de otro tipo, en este caso un valor real. Finalmente, veamos algunas consideraciones sobre la clase string. Sobre estos datos podemos hacer operación de suma, es decir concatenar un string con otro string o con variables y atributos que tengan otro tipo de dato. Por ejemplo, podemos hacer string más string, string más double, o string más int, en todos estos casos el resultado será un string. Por ejemplo, si tenemos las variables de tipo string "hola" y la variable "d" que almacenar la letra "i" y además tenemos la variable "x" que almacena el valor cinco. Al hacer la operación "c+d" tendremos como resultado hola i, al hacer la operación "c" más un espacio más "d" más adiós tendremos como resultado el string "hola y adiós", al hacer la operación "c+x" tendremos como resultado el string "hola cinco" y al hacer la operación "c" más la cadena de caracteres o el string "x" tendremos como resultado, el string "hola x". Con esto hemos terminado el tema de métodos e instrucciones, en la próxima sesión trabajaremos el tema de objetos.