Programación orientada a objetos (POO) Parte 1:
La programación orientada a objetos es un paradigma de programación, tenemos distintos paradigmas de programación los cuales no es más que un estilo de como programar y existen muchos estilos como lo es la programación secuencial o estructurada que es como a la mayoría nos enseñan a programar.
En al paradigma de la programación secuencial o estructurada la programación se ve algo así:
Lo que pasa aquí es que tenemos las instrucciones y cada una va de arriba hacia abajo una detrás de la otra, damos una instrucción, después otra y después otra, podríamos leer o manipular algún dato y después de leerlo o manipularlo, ponemos alguna condicional para obtener un resultado u otro, esta es la forma más sencilla de programar, ya que vas siguiendo paso a paso el funcionamiento de tu programa hasta obtener un resultado.
¿Que es en lo que nos viene a ayudar POO?
Como vimos en el paradigma de programación secuencial o estructurada nos resuelve ciertos problemas que podamos llegar tener comunes "pero" cuando empiezas a ver proyectos más grandes podemos ver que ese tipo de programación (secuencial o estructurada) no nos ayuda en mucho y se empiezan a complicar las cosas.
Vamos a verlo con un ejemplo:
Vamos a tener en cuenta que tenemos un cliente que requiere una tienda en línea, esta tienda vende calcetines.
Estos calcetines tienen:
Precio
Color
Talla
Marca
Se puede agregar al carrito de compras
Se puede eliminar del carrito de compras
Se puede editar
Aparte de esto el carrito debe de conectarse a una pasarela de pago para poder recibir los pagos de clientes
Y por otra parte tenemos a los clientes que va a hacer las compras, son muchas cosas que se tienen que tomar en cuenta y no pueden escribirse de manera secuencial o estructurada, ya que tendrías que tener un flujo muy enredoso desde que el usuario está revisando los calcetines dentro de la tienda hasta llevarlo a agregarlo al carrito y procesar el pago, aun así este tipo de programación se sigue haciendo, ya que así nos enseñaron a programar y cambiar el chip para programar de otra forma nos es difícil.
POO Es el paradigma más usado en el mundo:
A pesar de que existen otros paradigmas de programación, el más usado es POO , esto porque nos hace más fácil el llevar nuestro problema a resolver a objetos y así interactuar con ellos de la forma en que los necesitemos y no de forma secuencial hasta llegar a ellos. Esto nos permite tener un mayor control sobre nuestras necesidades.
Como podemos ver la diferencia es muchisima, ya que en POO los objetos pueden interactuar entre objetos mientras que con el otro paradigma no, ocupas llevar la secuencia hasta obtener lo que necesitas.
Componentes del paradigma POO:
En nuestro objeto tenemos "Datos", que se le llaman atributos y tenemos "Funcionalidades", que se les llama Métodos. Esto es lo que veíamos en la parte de los atributos y métodos que tienen los calcetines en nuestro ejemplo.
Estos objetos se crean código, pero imaginando cada vez que un cliente necesita agregar calcetines a su carrito necesita crearse ese objeto con sus atributos y métodos esto no sería muy eficiente estarlo creando uno por uno, necesitaríamos mucho tiempo y código para esto tenemos lo que son las clases.
Las clases son plantillas o moldes que nos permiten crear objetos con sus atributos y métodos.
Regresando con el ejemplo anterior, cada vez que un usuario necesita agregar calcetines a un carrito está utilizando nuestra plantilla "Clase" que ya hemos creado en nuestro código para crear nuevos objetos "Calcetin", a este proceso se le llama "Instancia".
Instanciar es el proceso de crear un objeto a partir de una clase y de esta forma podemos crear la cantidad de objetos que necesitemos.
¿Como usar los objetos creados en una aplicación real?:
En esta ilustración podemos ver como el cliente interactúa con la tienda de calcetines y una vez que el cliente se decide agregar un calcetín a su carrito de compras hace uso de nuestra plantilla "Clase Calcetín", para crear su objeto "Calcetín" que es el que el cliente desea, este calcetín creado ya lleva sus atributos como son: precio, color,talla, marca es un ejemplo muy simple, pero nos permite ver como cada elemento que necesitamos en nuestra aplicación puede ser un objeto y en este caso solo fue para agregar un calcetín a nuestro carrito de compras
Entonces viéndolo más comúnmente las clases ya las tenemos creadas dentro de nuestra aplicación y lo que pasa es que cuando como usuario utilizamos una aplicación ya sea tienda u otro servicio en el proceso usamos esas clases instanciandolas para crear objetos reales.
Espero que esta información les sirva de ayuda para entender lo que es la programación orientada a objetos aún nos falta tomar en cuenta algunos otros pilares en los que se basa la programación orientada a objetos como son: Abstracción, Encapsulamiento, Polimorfismo y Herencia, pero estos los dejaré para otros posts para no hacer este tan largo.
Por último: estoy intentando llegar a los 1000 suscriptores en Facebook y estoy en proceso de crear comunidad, te agradecería que me siguieras en mis redes sociales y te unieras a mi servidor de Discord donde estaré publicando, cada que suba contenido nuevo, al igual podrías suscribirte a mi newsletter, te dejo mis links aquí abajo: