Volviendo al tema que nos trata. Como hemos podido observar en estos días, según los programas van creciendo en complejidad, va aumentando las líneas de código. Aunque el uso de variables, constantes y funciones ayuda (programación estructurada) cada vez resulta más difícil entender lo que hace el programa solo echando un vistazo a su código. Imagínate lo que puede ser esto en un entorno profesional donde 10 o 12 programadores trabajan diariamente en el mismo proyecto.
En este contexto de creciente complejidad, surge la idea de la programación orientada a objetos. La idea que subyace es la siguiente: En lugar de crear y utilizar funciones para mover, cambiar de color, pintar,... un Mickey, ¿qué tal si tenemos un objeto Mickey que se pinta, cambia de color o mueve cuando se lo ordene?
En programación orientada a objetos, cada objeto es una entidad software independiente que tiene:
- Atributos: Son variables del objeto que contienen el estado del mismo.
- Métodos: Son funciones que podremos utilizar que determinan el comportamiento del objeto
En la programación orientada a objetos tendremos dos elementos relacionados:
- Clase: Define los atributos y los métodos del objeto. El equivalente con las funciones es cuando defino y programo una función.
- Objeto: Es una "instancia" de una clase. El símil con las funciones es cuando llamo o utilizo una función que previamente me he creado.
La sintaxis básica de una clase es la siguiente:
class NombreClase {
//Zona para los atributos
//Zona para los constructores
//Zona para los métodos
}
Aunque está permitido poner una clase dentro del fichero principal, lo normal ponerlo en ficheros independientes con el fin de que el código sea más claro.
Veamos un ejemplo. La clase Ball. Aquí puedes obtener el código. Crea una nueva pestaña llamada Ball en un sketch de Processing y copia el código en ella.
Y su utilización en un programa (o sketch). Pincha en este enlace para obtener el código y copialo en la primera pestaña.
Modifica el código del sketch anterior para que:
- La bola aumente de tamaño (radio = 30) cuando tenemos el ratón encima.
- La bola 2 haga lo mismo que la bola 1.











