POO, tu entrada al mundo laboral

Existen varias formas de estructurar un programa de software, a estas estructuras se les conoce como "paradigmas de programación". Hoy en día hay diversos tipos de paradigmas, como la programación funcional, imperativa, lógica, etc. Su clasificación depende de como estas ordenan la información que proporcionan a la máquina que ejecuta un programa.
Y entonces, ¿Qué es POO?
Uno de los paradigmas más importantes es la programación orientada a objetos que se centra en crear objetos que contienen tanto datos (atributos) como comportamientos (métodos) con la finalidad de que estos objetos interactúen entre sí para resolver un problema. En otras palabras con un ejemplo en el día a día, la acción de ir de compras a un super mercado y escoger un producto se puede considerar como un proceso al cual se le puede identificar o crear objetos u entidades las cuales tengan características propias o compartidas y comportamientos; en este mismo ejemplo el producto que eliges para comprar se le puede considerar como una entidad, clase u objeto al cual puedes asignarle atributos tales como nombre, precio, color, peso y etc. Y tan simple como esto es trabajar con la programación orientada a objetos.
"Si eres capaz de llevar tu conocimiento técnico a tu vida cotidiana entonces eres capaz de resolver problemas" - Yo.
Tomando el ejemplo anterior, llevémoslo a algo concreto. Un lenguaje que muchos conocemos y está presente en la mayoría de sistemas o software en el mercado es Javascript, que por su simpleza, flexibilidad y potencia se ha posicionado como uno de los lenguajes de programación más usados y requeridos en el mundo laboral. Para esto mostraré como se vería una clase Producto.
class Producto {
constructor(nombre, precio, descripcion, peso) {
this.nombre = nombre;
this.precio = precio;
this.descripcion = descripcion;
this.peso = peso;
}
}
Como vemos esta clase tiene atributos que describen las características de la entidad (plano o concepto del mundo real), siempre estos atributos o características van a variar según se requiera, ya sea para resolver un problema o para ser usado como herramienta de mejora en algún sistema. Hasta ahí vimos de manera resumida lo que es una clase y sus atributos, pero estas también pueden tener comportamientos, por ejemplo:
class Producto {
constructor(nombre, precio, descripcion, peso){
this.nombre = nombre;
this.precio = precio;
this.descripcion = descripcion;
this.peso = peso;
}
actualizarPrecio(nuevoPrecio){
this.precio = nuevoPrecio;
}
obtenerInformacionBasica(){
return `Nombre: ${this.nombre}, Precio: ${this.precio}`;
}
}
Observamos que la clase ya no solo tiene atributos si no también comportamientos o mejor llamados en el contexto de programación - métodos -, estos muestran qué hace la entidad Producto en el plano real, es decir, simula el comportamiento real de la clase para así poder crear, solucionar o mejorar procesos y/o situaciones de la vida cotidiana.
Con esto previamente explicado, viene la pregunta, ¿Para qué me sirve saber todo esto?.
Bien, en el ámbito laboral, hoy en día, cualquier persona puede programar, cualquiera puede aprender un lenguaje de programación, framework, o tecnología que esté de moda; sin embargo, no cualquiera es capaz de aprender a resolver problemas, y es esta habilidad la que se toma en cuenta para ser unos de los mejores candidatos a la hora de buscar trabajo en el rubro de TI.
Es por eso que la Programación Orientada a Objetos es tan buena y apta para solventar esta necesidad laboral. ¡¿ Por qué ?!, porque puedes entender las necesidades, características, comportamientos y variaciones de lo que te rodea y plasmarlo de tal manera en la que llegar a la solución o mejora de un conflicto sea pues, más sencillo.
"Programar es el arte de decirle a otro ser humano lo que quieres que el ordenador haga" - Donald Knuth.
Si te interesa conocer aún más sobre el mundo de POO, practica creando una clase sencilla (ej: una 'Libreta de Contactos') En la próxima parte, te enseñaré cómo llevarla al siguiente nivel con herencia, encapsulamiento y demás conceptos que sin duda son mucho más interesantes.
📚 Bibliografía.