Esta es una introducción a la programación orientada a objetos, aprenderás el concepto de POO ademas de que podrás entender el concepto de objeto mediante un ejemplo práctico.
2. ¿Por qué programación orientada
a objetos?
Antes de los años 80’s, la programación tenía un enfoque procedural,
donde un programa estaba dividido en funciones que modificaban
libremente los datos, es decir, no había protección alguna a los datos
contenidos en la RAM.
Dadas las características de los lenguajes de esos tiempos, los códigos
fuente de los programas contenían mucho código repetido y eran
propensos a errores.
La programación orientada a objetos esta pensada para dar más
importancia a los datos y protegerlos de modificaciones incontroladas,
haciendo mas seguro el código y menos propenso a errores. Además, el
código fuente de un programa es mucho más organizado y puede ser
reusado a conveniencia, evitando la duplicación de código.
4. Concepto de POO
Es un estilo de programación que nos permite modelar los elementos
que intervienen en un sistema en entidades llamadas objetos, así
como las relaciones entre estos objetos.
Ejemplo: Tienda de conveniencia.
Objetos:
Productos
Clientes
Vendedores
Proveedores
Etc.
5. ¿Pero como describir a los objetos?
Problema: Aunque hemos identificado a los objetos que intervienen
en nuestro sistema. Los objetos pueden tener características muy
variadas, aunque sean del mismo tipo.
En el ejemplo anterior identificamos que los productos que se venden
en la tienda son un tipo de objeto, sin embargo, hay gran variedad de
productos con características totalmente diferentes (Precio,
Caducidad, Tipo).
Por ejemplo:
Cerveza
Huevo
Jabón
Golosina
Desodorante
6. ¿Pero como definir a los objetos?
Solución: Definir las propiedades o características de un tipo
especifico de objeto, donde se mencionen solo aquellas que
comparten todos los objetos de esa categoría.
Para un producto, tenemos las siguientes propiedades:
Nombre
Precio
Tipo (Bebida, comestible, de aseo personal, etc)
Fecha de caducidad
Podríamos definir más propiedades, sin embargo, solo definiremos las que
interesan al problema, en este caso, una tienda de conveniencia.
7. ¿Algo mas sobre los objetos?
SI
Para que los objetos puedan comunicarse entre ellos, deben poder
realizar acciones, es decir, ser capaces de mandar y recibir mensajes
de y hacia otro objetos.
Entonces nos damos cuenta que los objetos tienen un comportamiento, el
cual también debemos definir.
Por ejemplo:
Si un cliente necesita saber el precio
de un producto, entonces le
preguntara a un vendedor y el
vendedor le contestara y, en dado
caso, le venderá el producto.
8. Comportamiento de los objetos
Ya que definimos las acciones que pueden realizar los objetos,
enlistaremos cada una de ellas y las asociaremos al objeto que la
realiza. Es importante mencionar que todos los objetos de
determinado tipo tendrán mas o menos el mismo comportamiento,
dependiendo del valor de sus propiedades en algunos casos.
Podríamos lista mas acciones al analizar nuestro problema más en
detalle, pero por ahora solo definiremos éstas.
Cliente:
• Preguntar precio de producto
• Comprar producto
Vendedor:
• Dar precio de producto
• Vender producto
9. Definición de objeto
Un objeto es la descripción de una entidad tomada del mundo
real, del mundo virtual o del mundo abstracto (ej. Matemáticas,
física, psicología).
Estos objetos están definidos por un conjunto de propiedades y
comportamientos. Es decir, definimos qué características en común
comparten una serie de objetos de cierta categoría y además las
acciones que son capaces de realizar para comunicarse con el
exterior, usualmente otros objetos.
La clave para un buen diseño de objetos, es limitarse listar las
propiedades y métodos que nos interesan sobre los objetos que
vamos a describir.