Hola, recordemos que hasta ahora hemos revisado los conceptos de clase, atributo,
asociación, método de instrucción, objeto y método constructor,
en esta ocasión revisaremos un concepto de llamado de métodos.
El llamado en método no es más que la forma de utilizarlo,
recordemos que en sesiones pasadas
revisamos como se definía un método, sin embargo, no hemos dicho como lo podemos utilizar.
Para utilizarlo existen dos formas, la primera,
es hacerlo dentro de la misma clase donde se ha definido,
esto nos permitirá reutilizar el comportamiento y los cálculos
que hemos construido dentro de los métodos.
Pensemos por ejemplo en las pizzas y supongamos que queremos calcular la ganancia total.
Para esto, primero debemos calcular la ganancia unitaria,
podríamos optar por construir un método.
Calcular la ganancia total dentro del cual primero calculamos una resta
que corresponde a la ganancia unitaria
o en vez de calcular esta resta
podríamos buscar una forma de aprovechar
el método que ya nos da la ganancia unitaria.
La segunda forma de utilizar un método
es hacerlo desde otra clase, esto permitirá
que un objeto pueda acceder al comportamiento de otro o a los cálculos que ha hecho otro.
Pensemos por ejemplo en el cocinero
y supongamos que este quiere saber cuántas unidades ha producido de pizza,
para esto debe saber cuántas unidades ha producido de cada una de las pizzas
que él sabe preparar,
esto quiere decir que debe consultar
a cada una de las pizzas que él sabe preparar
el valor del atributo, cantidad o unidades producidas,
esto lo podemos hacer a través de los métodos.
Trabajemos un poco más en el llamado de métodos desde la misma clase,
para esto recordemos nuestras pizzas
y veamos los miembros que hemos definido dentro de esta,
por una parte, tenemos los atributos, como el costo de producción o el precio de venta
el cual es privado
y tenemos los métodos como el método de dar ganancia unitaria
el cual es público,
dado que los queremos utilizar dentro de la misma clase
podemos acceder a ellos sin ningún problema.
Ya sabemos que si queremos acceder a los atributos
simplemente debemos escribir su nombre,
ahora bien, si queremos acceder, llamar o utilizar
los métodos dentro de la clase pizza dentro de ella misma
simplemente debemos poner el nombre del método
y ya que es un método debemos incluir
los paréntesis dentro de los cuales pondremos los parámetros que requiera el método.
Veamos un ejemplo en código.
Para eso traigamos la declaración de nuestra clase Pizza
la cual tenía tres atributos,
el costo de producción, la cantidad producida, el precio de venta
y el método que calculaba la ganancia unitaria,
ahora construyamos el método que calcula la ganancia total.
Para esto, con lo que sabemos hacer hasta el momento,
podríamos crear una variable donde guardamos la resta
en el precio de venta y el costo de producción
y posiblemente la multiplicaríamos por la cantidad producida.
Sin embargo, si nos fijamos cuidadosamente
el cálculo de la variable resta
corresponde a las operaciones que sabe hacer el método de dar ganancia unitaria,
entonces, en vez de calcular la resta nuevamente
simplemente podríamos llamar al método de dar ganancia unitaria,
recordemos que para llamar un método de la misma clase
simplemente escribimos su nombre y sus parámetros.
Trabajemos ahora sobre el llamado de métodos de otra clase,
para esto recordemos a nuestro cocinero el cual quiere conocer
cuántas unidades de pizza ha producido
y para esto debe saber
cuántas unidades ha producido de cada una de las pizzas que él sabe preparar,
recordemos que nuestro cocinero
tiene dos pizzas, la pizza uno, la pizza dos
y de alguna forma debe poder acceder a la información
que esta almacenada dentro de ellas.
Para esto usaremos el operador punto.
El operador punto en llama nos permite acceder a los miembros públicos de una clase.
¿Cómo haremos esto?
Para esto definiremos
primero el objeto al cual
queremos hacerle el llamado al método
posiblemente utilizaremos el operador punto
y a continuación pondremos el nombre del miembro al cual queremos acceder,
en nuestro caso el nombre del método al cual queremos acceder.
Veámoslo en un ejemplo.
Recordemos que tenemos a nuestro cocinero y él tiene el objeto de la clase Pizza,
en este caso llamado pizza uno
y la pizza tiene los miembros
que son los atributos que hemos definido como privados
y los métodos que hemos definido como públicos,
dado que los atributos son privados solo pueden ser accedidos desde la clase pizza,
entonces estos los descartaremos por este momento.
Ahora, dado que los métodos son públicos ellos pueden ser accedidos
desde la clase cocinero
o desde el objeto de la clase cocinero utilizando el operador punto.
Veamos un ejemplo.
Supongamos que queremos utilizar
el método de dar ganancia unitaria,
para esto entonces
iniciaremos poniendo el nombre del objeto,
en este caso pizza uno.
A continuación pondremos el operador punto
y finalmente podremos el nombre del miembro al cual queremos acceder
o al cual queremos llamar
o el cual queremos utilizar,
en este caso el método de dar ganancia unitaria.
Supongamos ahora que queremos utilizar o llamar al método de dar ganancia total,
nuevamente ponemos el nombre del objeto,
en este caso pizza uno,
el operador punto
y a continuación el nombre del método que en este caso es dar ganancia total.
Supongamos que ahora queremos utilizar
alguno de los métodos de la clase pizza dos,
simplemente basta con poner el nombre del objeto, en este caso pizza dos,
el operador punto
y el nombre del miembro al cual queremos acceder,
en este caso el método de dar ganancia unitaria.
Veamos un ejemplo en código.
Para esto,
traigamos tanto la declaración de la clase Pizza
como la declaración de la clase cocinero.
La clase pizza hemos traído la declaración del atributo cantidad producida
el cual es privado por lo tanto no puede ser accedido desde ninguna otra clase
y la declaración del método dar cantidad producida,
lo cual es público
y puede ser accedido desde otras clases o de otros objetos de otras clases.
Ahora, dentro de la clase cocinero definiremos el método dar unidades producidas
el cual necesita sumar las unidades producidas de la pizza uno y de la pizza dos.
Entonces, iniciaremos con la instrucción de retorno
dado que queremos informar el valor que vamos a calcular,
a continuación, ponemos el nombre del primer objeto
al que le llamaremos el método de dar cantidad producida, en este caso, pizza uno.
Ahora llamaremos al método,
entonces utilizamos el operador punto
seguido del nombre del método que queremos llamar,
recordemos que el método debe incluir los parámetros que este requiere
para hacer los cálculos que le hemos asignado
y ahora repetiremos la misma operación
con el objeto pizza dos
para poder calcular el total de unidades producidas por este cocinero.
Con esto hemos terminado el tema de llamado de métodos.
En la próxima sesión revisaremos el tema de creación de objetos.