La programación Orientada a Objetos

El ABC de la Programación Orientada a Objetos (POO) 

La POO es el paradigma de programación más famoso. Por eso nos referimos a este tipo de programación para explicar qué significa programar en informática. Desde que fue inventado por Kristen Nygaard y Ole-Johan Dahl en 1960, su popularidad ha aumentado. Ha conseguido convertirse en un estándar de la programación moderna y uno de los pilares principales del funcionamiento interno de lenguajes de programación. Todo ellos en lenguajes tan populares como Python o JavaScript. ¡Te contamos un poco más de su historia en este artículo! 

Su popularidad empezó en 1983 cuando apareció el lenguaje C++ el cual proveía una implementación sólida de la POO en C. Más adelante, en la década de los 90, cuando Java dominaba. Su popularidad se disparó debido al cómodo marco que la POO proveía a las aplicaciones empresariales desde la arquitectura más sencilla a la más compleja. En la actualidad, como ya he comentado, la POO está muy presente porque es parte muy importante de los lenguajes más populares.

Tanto hablar de la Programación Orientada a Objetos. ¿Te ha dejado con ganas de saber qué significa programar en informática y cómo funciona un programa informático a ese nivel?

Bueno pues es tu día de suerte, en este artículo vamos a explicarte los conceptos básicos de este popular paradigma. Es muy importante que lo interiorices bien, pues seguro que te vas a encontrar con esta “frente a frente” siendo todo un desarrollador full stack.

¿Cómo nos encontramos la POO en la realidad del programador?

Imagínate que tienes un problema muy grande y muy complejo que resolver. El algoritmo que tu cabeza está creando es enrevesado o simplemente no se encuentra a la altura. Pues bien, ¡Apunta! La filosofía de la POO es: “Tranquilo, tómate tu tiempo, separa ese gran problema en problemas más pequeños, soluciónalos. Y luego encájalo todo para solucionar el problema más grande”.  

Vamos a imaginar que tienes que crear un programa para administrar una empresa, que tiene su departamento de ventas, marketing, IT etc. Sin la POO tendrías que crear diferentes archivos en tu lenguaje de programación favorito. llamado ‘empresa’ y comenzar a crear funciones como un loco. Esto produciría la repetición del código y que la arquitectura, y estructura del programa estuviera poco definida y ordenada. 

¿Qué significaría programar en informática con PPOO? Pues bien, siguiendo con el ejemplo, primero deberías crear un “archivo” que contenga las características y acciones comunes que se realizan en un departamento. Luego crearías diferentes archivos para cada uno de los departamentos. De este modo el archivo con las características y acciones comunes siempre estaría incluido en cada uno de los departamentos. 

¡VAMOS A CONCRETAR EL EJEMPLO!

Apoyándonos en lo mencionado anteriormente, vamos a explicar de forma más detallada la Programación Orientada a Objetos. Y así vamos a poder entender por completo qué significa programar y cómo funciona un programa informático de este modo.

  1. Clases= Son plantillas utilizadas para crear objetos. En el ejemplo anterior tendríamos una clase departamento y luego otras clases que heredan de ella.
  1. Objetos= Es un elemento que hace referencia a una clase en cuestión, por ejemplo un objeto en nuestro programa sería: Ventas deptventas=new Ventas(); con “Deptventas” podrías acceder a los métodos de la clase “Ventas” y a sus atributos.
  1. Métodos= Dentro de las clases, los métodos son las acciones que se desarrollan dentro de la clase. Al final son funciones que pertenecen al objeto, por ejemplo un método de la clase ‘Marketing’ podría ser “AnalizarMercado”. 
  1. Atributos= Son las características de cada objeto. En nuestro ejemplo el objeto “departamento” contará con el atributo “NumeroEmpleados” el cual se refiere lógicamente al número de empleados de un departamento como su nombre lo dice. 
  1. Herencia= Como sabéis tenemos definidas varias clases en nuestro proyecto, entre las cuales se encuentra “departamento” . Esta clase define un concepto más genérico que los otros departamentos, y además guarda relación con todos ellos. Por ello la herencia no es más que una forma de ahorrar tiempo y de evitar repetir código. Cuando queramos definir un “departamento” concreto este deberá heredar de la clase genérica “departamento”

Para terminar, comentar que hemos usado un ejemplo, existen infinitos ejemplos y modos de explicarlo. Nosotros queríamos introducirte en la POO de un modo sencillo y que te permitiera entender qué significa programar en informática con POO. Si quieres echar un vistazo a una explicación complementaria haz click aquí.

¡Nos vemos por la próxima publicación, con la que darás un paso más para convertirte en desarrollador web y móvil!