Desarrollo de clases
Caso práctico
Tras su primer contacto con la Programación Orientada a Objetos, María está mucho más convencida de los beneficios que se pueden obtener utilizando este tipo de metodología. Las explicaciones de Juan y su breve experiencia con los objetos le hacen ahora ver el mundo de la programación desde otro punto de vista. Este nuevo método de trabajo les va a permitir distribuir las tareas de desarrollo de una manera más eficiente y poder adaptarse a cambios, correcciones y mejoras con mucho menos esfuerzo a la hora de modificar código.
María está convencida de que es el momento de empezar a escribir el código de sus propias clases para, a continuación, pasarlas a otros compañeros que las puedan usar. Una vez que otras personas reciban esas clases, podrán desentenderse de cómo están hechas por dentro (principios de encapsulamiento y ocultación de información) y limitarse únicamente a utilizarlas a través de los métodos que conforman su interfaz, la manera de comunicarse con el exterior, definiendo su comportamiento.
Para llevar a cabo esta labor Juan va a proseguir con las explicaciones sobre objetios y clases:
—Ha llegado el momento de empezar a desarrollar nuestras propias clases— le dice Juan.
—Genial, vamos a comenzar a desarrollar la primera biblioteca de clases para BK Programación, ¿no es así?
—Bueno, ésa es la idea. A ver si tenemos nuestro primer paquete de clases, que podríamos llamar com.bkprogramacion.
—Pues venga... ¡Vamos allá!
Un objeto es un caso individual, una instancia, de un elemento creada a partir de una definición (clase).
Componente software reutilizable expresado en términos de atributos (propiedades o características) y métodos (comportamiento). Los programadores pueden usar sus propias clases o las incluidas la biblioteca del lenguaje o de una biblioteca creada por terceros.
Consiste en el ocultamiento del estado de un objeto (de sus datos miembro o atributos) de manera que sólo se puede cambiar mediante las operaciones (métodos) definidas para ese objeto. Cada objeto está aislado del exterior de manera que se protegen los datos contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios y colaterales no deseados. Este modo de proceder permite que el usuario de una clase pueda obviar la implementación de los métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de manera imprevista e incontrolada.
Es el efecto que se consigue gracias a la encapsulación: se evita la visibilidad de determinados miembros de un objeto al resto del código del programa. De ese modo la única manera de acceder al contenido del objeto (atributos) es mediante el uso de su interfaz (métodos).
Elemento de una clase u objeto compuesto por una serie de sentencias que sirven para describir las acciones a realizar con esa clase u objeto.






María empieza a tener bastante más claro en qué consiste una clase y cuál es la diferencia respecto a un objeto. Es el momento de empezar a crear en 
María está entusiasmada con las posibilidades que le ofrece el concepto de clase para poder crear cualquier tipo de objeto que a ella se le ocurra. Ya ha aprendido cómo declarar la cabecera de una clase en 

María ya ha estado utilizando métodos para poder manipular algunos de los objetos que han creado en programas básicos de prueba. En el proyecto de simulación y modelado de vehículos en el que está trabajando junto con Juan van a tener que crear varios tipos de objetos (clases) que representen elementos importantes el sistema de información que quieren modelar y automatizar. Ahora mismo están trabajando con la clase Vehiculo. Ya han pensando y definido muchos de los atributos que podría tener esta clase. Ahora necesitan empezar a definir qué tipos de acciones se van a poder realizar sobre la información que contenga cada objeto instancia de la clase Vehiculo:





Juan está desarrollando algunas de las clases que van a necesitar para el proyecto de los vehículos y empiezan a asaltarle dudas acerca de cuándo deben ser visibles unos u otros miembros.
















Juan ya ha terminado de escribir algunas de las clases de prueba para la aplicación que está comenzando a desarrollar junto con María.




