programación orientada a objetos - introducción - ¿qué es un objeto?
TRANSCRIPT
Programación
orientada a objetos
POR: CHRISTIAN GONZÁLEZ LEÓN
YOUTUBE: CPLAYMASH
TWITTER: @CHRISHENX
Introducción
¿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 serreusado a conveniencia, evitando la duplicación de código.
Entender que es un objeto !
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.
¿Pero como describir a los objetos?
Problema: Aunque hemos identificado a los objetos que intervienenen nuestro sistema. Los objetos pueden tener características muyvariadas, aunque sean del mismo tipo.
En el ejemplo anterior identificamos que los productos que se vendenen la tienda son un tipo de objeto, sin embargo, hay gran variedad deproductos con características totalmente diferentes (Precio,Caducidad, Tipo).
Por ejemplo:
Cerveza
Huevo
Jabón
Golosina
Desodorante
¿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.
¿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.
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 larealiza. Es importante mencionar que todos los objetos dedeterminado 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
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 ycomportamientos. 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.
Eso es todo !
Referencias
http://es.wikipedia.org/wiki/Programación_orientada_a_objetos