01-Clases y objetos… y un lenguaje para modelarlos a todos: UML.

En el vídeo siguiente introducimos los conceptos fundamentales de la programación orientada a objetos: el concepto de clase y la creación de objetos de una misma clase.

Lo que haré será explicarlo en clase, pero os dejo a continuación el vídeo para que lo tengáis siempre a mano por si queréis recordar algo.

En el vídeo hemos aprendido:

  • Los escenarios de Greenfoot son representación de partes de nuestro mundo.
  • El escenario de Greenfoot, al igual que nuestro mundo, está compuesto por una serie de clases, que no son más que tipos de cosas.
  • El escenario muestra mediante un diagrama de clases UML las clases disponibles en esta parte del mundo en la que estamos, el escenario Greenfoot. Para saber más sobre UML y los diagramas de clases, seguid los enlaces.
  • Podemos crear tantos objetos de un tipo, de una clase, como deseemos. Lo que hacemos es crear instancias de esa clase.
  • Las clases recogen lo que cómo serán los objetos que se creen de las mismas y lo que saben hacer. Es decir, los objetos de una clase tendrán una serie de atributos que definen su estado y una serie de métodos que determinan qué sabe hacer ese objeto.
  • Todos los objetos del mundo Greenfoot son, realmente, objetos actores en ese mundo. Es decir, todas las clases son hijas de la clase Actor y heredan sus atributos y métodos.
  • Los métodos pueden necesitar datos para hacer lo que deben hacer. Esos datos se proporcionan al método mediante parámetros o argumentos del método.
  • A su vez, los métodos puede no ofrecer ningún resultado de su acción o pueden devolver algún valor. Si un método no devuelve ningún valor, mostrará delante de su nombre la palabra void. Si devuelve algún valor, mostrará una palabra que indique el tipo de valor (int, por ejemplo, si devuelve un número entero).
  • Las características de una clase y sus métodos se especifican en código fuente escrito en lenguaje Java.
  • Cada vez que se cambia el código fuente, se debe compilar para crear el código máquina que puede ser ejecutado.

Para practicar con el entorno y con vuestras primeras clases y objetos, debéis hacer las siguientes prácticas:

  • Abrir el Escenario Erizos.
  • Crea dos erizos y 10 manzanas, dispuestas aleatoriamente por la cuadrícula del escenario.
  • Pulsa el botón Act 4 veces. Observa que pasa. Luego pulsa el botón Run y observa qué sucede. Pulsa, finalmente, el botón Pause. ¿Qué ha sucedido en cada caso?
  • Ejecuta el método move() de uno de los erizos, hasta que alcance un borde del escenario. En el borde, vuelve a ejecutar move(). ¿Hace algo el erizo? Verifica con el método canMove() si puede moverse.
  • Ejecuta el método turnLeft() del erizo que tengas en el borde. Vuelve a comprobar si se puede mover con el método canMove(). Comprueba que ya puede moverse invocando al método move().
  • Sitúa un erizo al lado de una manzana e invoca el método foundApple(). ¿Cuál es el valor devuelto?. Sitúa, ahora, el erizo sobre la manzana y vuelve a invocar el método foundApple(). Comprueba cuántas manzanas se ha comido hasta ahora el erizo mediante el método getAppleEaten(). Después, haz que se coma la manzana con el método eatApple() y vuelve a comprobar el número de manzanas comidas, pero esta vez invocando la acción inspect que te dará el estado global del erizo.
  • Abre el código fuente del erizo y de la manzana. ¿La manzana hace algo?. Ve al código fuente del erizo y estudia el método act(). Describe brevemente lo que hace.
  • Usa el método setLocation(int, int) que el erizo hereda de Actor, para situar al erizo en la cuadrícula de coordenadas x=4 e y=3.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s