POO:
La programación orientada
a objetos o también conocida como POO o OOP en sus siglas en inglés, se enfoca
en los elementos de un sistema, sus atributos y las interacciones que se
producen entre ellos para diseñar aplicaciones informáticas. Los elementos
abstractos del modelo orientado a objetos se denominan clases.
Un programa orientado a
objetos: es esencialmente una colección de objetos que se crean, interaccionan
entre sí y dejan de existir cuando ya no son útiles durante la ejecución de un
programa. Una aplicación informática puede llegar a ser muy compleja.
La complejidad: es más
manejable cuando se descompone y se organiza en partes pequeñas y simples, los
objetos.
Un programa Java utiliza
clases y objetos. Las clases representan un esquema simplificado de la perteneciente de una aplicación informática. Una clase es una representación
abstracta de un conjunto de objetos que comparten los mismos atributos y comportamiento,
es decir, una clase describe un tipo de objetos. Un objeto es una instancia de
una clase, tiene una identidad propia y un estado. La identidad de un objeto se
define por su identificador. El estado de un objeto se define por el valor de
sus atributos.
El comportamiento de un
objeto queda determinado por el comportamiento la clase a la que pertenece. Los
objetos son unidades indivisibles y disponen de mecanismos de interacción
llamados métodos.
Para entender el concepto
de objeto es necesario saber que existe una relación directa entre los elementos
que forman parte de una aplicación informática y los objetos. Normalmente, para
identificar los elementos de una aplicación, debemos fijarnos en los sustantivos
que utilizamos para describir los objetos reales del sistema. Para diseñar una
aplicación orientada a objetos es necesario responder las siguientes preguntas:
- ¿Cuáles son los elementos tangibles de un sistema?
- ¿Cuáles son sus atributos?
- ¿Cuáles son sus responsabilidades?
- ¿Cómo se relacionan los elementos del sistema?
- ¿Qué objeto debe “saber”?
- ¿Qué objeto debe “hacer”?
Por ejemplo:
Si se desea diseñar un
programa Java para gestionar las ventas de una tienda, entonces habría que
identificar y describir las características elementos como: cliente, tipo de
cliente, producto, pedido, tipo de entrega, forma de pago, unidades en
existencia de los productos,
Entre otras. Los procesos
de gestión de la tienda incluirían el registro de los clientes, el registro de
los productos de la tienda, el proceso de compra del cliente y la realización
de los pedidos, la entrada y salida de productos del almacén, entre otras.
Ejemplo 2:
Si en vez de una tienda se
trata de una aplicación para dibujar figuras geométricas en dos dimensiones,
entonces sería necesario identificar y describir las características de las
figuras y su posición. En este caso habría figuras de tipo círculo, rectángulo,
triángulo, entre otras. Las operaciones a realizar con las figuras incluirían
dibujar, borrar, mover o rotar.