1

Complemento Teórico - ¿Qué es la Programación Orientada a Objetos?

Andrés Rodrigo
Aleiva
18698

Como ya se sabe, la programación es muy amplia y existen varios “estilos de programar”. Es a estos estilos que se les denomina paradigmas de programación.

¿Qué es un paradigma?

Es la teoría que suministra la base y el modelo para resolver problemas. Es decir, un paradigma no es más que un conjunto de técnicas, métodos o estrategias que se seguirán para dar solución a un problema.

“Para que exista un paradigma, debe existir un problema”

¿Cuáles son los principales paradigmas que existen?

Actualmente, existe un infinidad de paradigmas. Sin embargo, existen** cuatro paradigmas principales:**

  1. Programación Estructurada
  2. Programación Funcional
  3. Programación Lógica
  4. Programación Orientada a Objetos

¿Cuál es el paradigma más famoso?

El paradigma más famoso es la POO o Programación Orientada a Objetos debido a su gran relevancia en el mundo laboral. Luego, en segundo lugar se puede clasificar a la programación estructurada porque es el paradigma con el que la gran mayoría empieza a programar.

Paradigma de la Programación Estructurada y sus problemas

En un inicio, este paradigma resulta práctico y útil (especialmente porque empezamos a programar). Sin embargo, cuando estamos trabajando con proyectos más grandes y/o complejos, este método no resulta práctica. Esto se debe a que abría que mover y modificar varias líneas de código para implementar una nueva funcionalidad.

Los principales problemas que tiene este paradigma son:

  1. El código eventualmente será muy largo.
  2. Por consecuente, este código será difícil de mantener a largo plazo por la poco escalabilidad que posee.
  3. Si hay algún error en nuestro código, todo el programa fallará.
  4. Se genera el famoso código espagueti. Este es un término que se refiere a los programas que tienen una estructura de control de flujo compleja e incomprensible (principalmente por los if’s anidados).

Es aquí cuando llega el paradigma de la Programación Orientada a Objetos (a la cual nos referiremos como POO en adelante) para simplificar estos problemas y hacer el código más sencillo y fácil de mantener y programar.

Paradigma de la Programación Orientada a Objetos y sus ventajas

Este paradigma proviene de la filosofía de pensar e interpretar la realidad y/o lo observable como objetos. Es así como pasamos de tener un código secuencial (de arriba hacia abajo) a un sistema en el que tenemos los elementos/objetos separados y comunicándose entre ellos.

Las principales ventajas que trae este paradigma (además de ahorrarnos los errores de la programación estructurada) son:

  1. Facilidad para mantener y manejar un sistema,
  2. Si se necesitara una nueva funcionalidad podríamos (sin problemas) agregar un nuevo objeto.
  3. Podremos añadir nuevos datos (atributos) y funcionalidades (métodos) a los objetos ya existentes.

Clases

Una clase será la plantilla que se utilizará como base para la creación de objetos con atributos y métodos similares.

Además, se le conocerá como instanciar al proceso de crear objetos a partir de una clase. Además, a cada objeto creado se le puede referir como una instancia de la clase.

Objetos

Los objetos son aquellos que tienen propiedades o características (atributos) y comportamiento (métodos), pueden ser físico o conceptuales.

img.jpg

Atributos y Métodos

Las clases y objetos se dividirán en dos partes:

  1. Los atributos: Serán las características o propiedades que tiene un objeto. Normalmente son sustantivos.
  2. Los métodos: Serán la funcionalidad, acciones o comportamientos de un objeto. Normalmente son verbos o sustantivos + verbos.

Los cuatro pilares de la Programación Orientada a Objetos

1. Abstracción
La abstracción es cuando separamos los datos de un objeto para generar la clase. Es decir, cuando se definen los atributos y métodos de una clase.

2. Encapsulamiento
Es hacer que un dato sea inviolable, inalterable cuando se le asigne un modificador de acceso (ej en Java. public, protected, default y private), No se trata de ocultar el dato sino también de protegerlo. El modificador de acceso define el alcance y visibilidad de un miembro de clase.

3. Polimorfismo
Es construir métodos con el mismo nombre pero con diferente comportamiento. Es otras palabras, dar la misma orden a varios objetos para que respondan de diferentes formas.

4. Herencia
La herencia nos permite crear nuevas clases a partir de otras, se basa en modelos y conceptos de la vida real. Es aquí cuando surge la jerarquía de padre e hijo. Es decir, las clases hijas heredarán los atributos y métodos de la clase Padre.

Algunos lenguajes Orientados a Objetos:

  1. Java
  2. Python
  3. JavaScript
  4. PHP
  5. C#
  6. C++
  7. Kotlin
  8. Swift
  9. Ruby
Escribe tu comentario
+ 2