¿Qué es un Objeto?


Los objetos son clave para comprender la tecnología orientada a objetos. Mire a su alrededor en este momento y encontrará muchos ejemplos de objetos del mundo real: su perro, su escritorio, su televisor, su bicicleta.

Los objetos del mundo real comparten dos características: todos tienen estado y comportamiento. Los perros tienen estado (nombre, color, raza) y comportamiento (ladrar , mover la cola). Las bicicletas también tienen estado (marcha actual, cadencia del pedal actual, velocidad actual) y comportamiento (cambio de marcha, cambio de la cadencia del pedal, aplicación de frenos). Identificar el estado y el comportamiento de los objetos del mundo real es una manera de comenzar a pensar en términos de programación orientada a objetos.

Tómese un minuto ahora mismo para observar los objetos del mundo real que se encuentran en su área inmediata. Para cada objeto que vea, hágase dos preguntas: "¿En qué estados posibles puede estar este objeto?" y "¿Qué posible comportamiento puede realizar este objeto?". Asegúrese de escribir sus observaciones. Al hacerlo, notarás que los objetos del mundo real varían en complejidad; su lámpara de escritorio puede tener solo dos estados posibles (encendido y apagado) y dos comportamientos posibles (encender, apagar), pero su radio puede tener mas estados (encendido, apagado, volumen actual, estación actual) y comportamiento (encender , apaguar, aumentar el volumen, disminuir el volumen, sintonizar). También puede observar que algunos objetos, a su vez, también contendrán otros objetos. Estas observaciones del mundo real se traducen en el mundo de la programación orientada a objetos.

 

Los objetos de software son conceptualmente similares a los objetos del mundo real: también consisten en el estado y el comportamiento relacionado. Un objeto almacena su estado en campos (variables en algunos lenguajes de programación) y expone su comportamiento a través de métodos (funciones en algunos lenguajes de programación). Los métodos operan en el estado interno de un objeto y sirven como el mecanismo principal para la comunicación de objeto a objeto. Ocultar el estado interno y exigir que toda la interacción se realice a través de los métodos de un objeto se conoce como encapsulación de datos, un principio fundamental de la programación orientada a objetos.
  
Al atribuir el estado (marcha actual, cadencia del pedal actual, velocidad actuall) y proporcionar métodos para cambiar ese estado, el objeto permanece en control de cómo el mundo exterior puede usarlo. Por ejemplo, si la bicicleta solo tiene 6 velocidades, un método para cambiar de marcha podría rechazar cualquier valor que sea menor que 1 o mayor que 6.

La inclusión del código en objetos de software individuales proporciona una serie de beneficios, que incluyen:

  • Modularidad: el código fuente de un objeto se puede escribir y mantener independientemente del código fuente para otros objetos. Una vez creado, un objeto puede pasarse fácilmente dentro del sistema.
  • Ocultar información: Al interactuar solo con los métodos de un objeto, los detalles de su implementación interna permanecen ocultos del mundo exterior.
  • Reutilización de código: si un objeto ya existe (tal vez escrito por otro desarrollador de software), puede usar ese objeto en su programa. Esto permite a los especialistas implementar / probar / depurar objetos complejos, específicos de la tarea, en los que luego puede confiar para ejecutarlos en su propio código.   
  • Facilidad de conexión y depuración: si un objeto en particular resulta ser problemático, puede simplemente eliminarlo de su aplicación y conectarlo a un objeto diferente. Esto es análogo a solucionar problemas mecánicos en el mundo real. Si una rueda se rompe, la reemplaza, no todo el automóvil.
   

Comentarios

Publicar un comentario

Entradas más populares de este blog

¿Qué es una Interfaz?

¿Qué es el UML?

¿Qué es un Paquete?