Recapitulando

Entonces, como vimos, en un mundo de objetos, todo lo que tenemos son objetos y mensajes, que pueden ser:

  • mensajes de palabra clave: su nombre es una palabra, se envía mediante un punto y llevan paréntesis al final:
    • pueden no tomar argumentos, como rayuela.autor()
    • o pueden tomar uno o más argumentos, separados por coma: sanMartin.cruzar(losAndes, caballo)
  • comunmente llamados operadores: son generalmente simboos matemáticos o caracteres especiales, y su sintaxis se asemeja al uso corriente que se hace de ellos.
    • mensajes que no toman argumentos, como la negación !true
    • mensajes que toman un argumento, como orson == gardfield o 2 + 2

Y en cualquier caso pueden tener un retorno o bien producir un efecto.

¡Mucho hablar! ¡Queremos acción! Escribí un nuevo programa que:

  1. Coma 500 gramos de alpiste
  2. Vuele a buenos aires
  3. Finalmente, coma tanto alpiste como el 10% de su energía.

Este programa tiene que andar sin importar con cuanta energía arranque pepita.

¡Dame una pista!

Cualquier envío de mensaje que devuelva algo es una expresión válida, que puede ser usada en cualquier lugar en que se espera un objeto.

Por ejemplo, las siguientes colaboraciones son equivalentes:

miAuto.cargarNafta(30) miAuto.cargarNafta(10 + 20)

Y las siguientes, también:

4.max(20) (8/2).max(10.abs() + 10)

Tenés que iniciar sesión antes de empezar a enviar tus soluciones