Analicemos cómo surgió el paradigma de la Programación Orientada a Objetos, además conoceremos los conceptos principales de este tema.
Todo sistema es un modelo que trata de simular o emular un aspecto del mundo real. Por ejemplo, en el mundo real las personas compran en un supermercado, donde son atendidos por una cajera que les entrega un comprobante de compra. Un sistema de cómputo tratará de emular ese entorno, por lo que habrá bases de datos, tablas e interfaces con información sobre Clientes, Artículos, Ventas, Cajeros, Tickets, etc.
Para poder realizar esa emulación los programadores se adaptan a un determinado paradigma de programación. Han existido diversos paradigmas, por ejemplo, en un tiempo la programación era lineal, e incluso se debían especificar los números de línea a la hora de programar. El programa comenzaba en la primera línea pero no se sabía en cuál finalizaba. Ese problema era conocido como “código spagueti”.
Luego pasó a ser funcional o procedural, donde se programaban módulos (por ejemplo, imprimir_ticket), que posteriormente eran invocados por un programa principal.
Así se llegó a la Programación Orientada a Objetos, que cuenta con conceptos y elementos propios que deberán ser bien comprendidos antes de emprender la labor de programar bajo este paradigma.
Un programa orientado a eventos incorpora un gestor de eventos, es decir una parte del programa encargada de procesar los eventos que ocurran durante la ejecución del programa.
Un evento es una respuesta que ocurre ante cierto determinado cambio, generalmente en nuestro programa (Cardador, 2015).
Por ejemplo, si nuestro programa utilizara un botón, tendríamos eventos como OnClic (el usuario dio clic en el botón), OnFocus (el botón recibió el enfoque), etc. Deberíamos entonces, codificar qué queremos que se ejecute cuando ocurra cada evento.
Un programa orientado a eventos puede utilizar un paradigma funcional o procedural, o uno de Programación Orientada a Objetos.
El paradigma de la programación orientada a objetos nació en 1969 de la mano de Kristin Nygaard (Joyanes, 2002). Desde entonces, las tecnologías orientadas a objetos han evolucionado mucho.
De acuerdo con Booch (1995), un objeto es algo que tiene estado, comportamiento e identidad. Por ejemplo, en el mundo real, un auto (objeto), tiene un determinado, color, cantidad de puertas, cantidad de velocidades, capacidad de carga, etc (estado), y es capaz de avanzar, frenar, cambiar de velocidad (comportamiento). Aunque dos autos tengan características muy parecidas, en realidad son diferentes (identidad). En un diseño orientado a objetos se crea una abstracción (o modelo simplificado) del auto basado en sus estado y comportamiento. Un objeto conoce cómo ejecutar acciones que alteren sus propios datos. Un objeto consta de datos y acciones que se pueden ejecutar.
Un objeto es transitorio: se pierde cuando el programa termina, a menos que pueda guardar sus datos en un disco o almacenamiento.
Para comunicarnos con un objeto se utilizan mensajes. Un mensaje incluye un identificador que contiene la acción que ha de ejecutar el objeto junto con datos que el objeto necesita para realizar el trabajo.
Un objeto tiene una interfaz, un conjunto de operaciones visibles que simplifican el uso del objeto. Un objeto del mundo real tiene unos cuantos botones para que el usuario opere a través de ellos. El usuario no puede ni necesita abrir el aparato para poder operar sobre el. De igual forma, una interfaz impide que el usuario tenga que conocer todos los detalles de implementación del objeto, este concepto se conoce como encapsulamiento.
Un objeto (POO) trata de emular una entidad del mundo real, sea ésta una entidad física, conceptual o de software. Tiene estado (un conjunto de datos), comportamiento (acciones que se pueden ejecutar) e identidad.
Objetos y clases en Java - | Dic 16,2016
[…] un nombre y una posición x,y. Además, interactuaremos con ella mediante la creación de un objeto a través del cual le preguntaremos su […]