jueves, 2 de febrero de 2023

Modelos de programación.

POO. Conceptos básicos.

Para empezar, desde la perspectiva con la que estamos trabajando, podemos decir que la programación orientada a objetos (POO) es un desarrollo de la programación funcional en la que "empaquetamos" juntos (en una clase) una serie de variables que contienen datos relevantes sobre ese algo con el que queremos trabajar (atributos) y una serie de funciones, que ahora llamamos métodos y que representa el comportamiento típico e igualmente relevante de ese algo. Ese algo es la concreción de la clase y se llama objeto, que no es otra cosa que una instancia de la clase.


La clase es una abstracción y el objeto es su concreción. Como tal abstracción, la clase contiene la definición de las característica relevantes que se concretarán en casa objeto que instanciemos, además de las acciones o funciones potencialmente relevantes (para nuestro algoritmo) que después desarrollarán (o no y cuando resulte pertinente) los objetos que instanciemos.

La POO se acerca al modo en que funcionan las cosas en la realidad, lo que facilita el desarrollo de programas sostenibles y fáciles de mantener, compuesto por piezas simples y reutilizables que interaccionan entre si.

Además, al igual que sucede con la programación funcional, son pertinentes los conceptos de abstracción y encapsulamiento, ambos complementarios entre sí. Esta pertinencia refuerza la idea de que la POO está emparentada con la programación funcional:

  • Abstracción: Es posible utilizar una clase sin conocer cómo está implementada, siempre que sepamos cómo hacerla funcionar, lo que consigue mediante un contrato o conjunto de instrucciones.
  • Encapsulamiento: Este desconocimiento hace que la clase funciones como una caja negra, de modo que ignorar cómo está constituida no afecta a nuestra capacidad de utilizarla.
Basado en Alberto Cuevas(2016. img pag 185) 

Gracias a la aplicación de estos conceptos, es factible evitar el acceso no deseado a la configuración de las clases en el uso de los objetos instanciados, evitando alteraciones en su funcionamiento.

Otros dos conceptos fundamentales en la POO son la herencia y el polimorfismo:

  • Por herencia entendemos que una clase puede provenir de una super clase (clase o nivel de abstracción superior) o ser base para la creación de clases derivadas, secundarias o subclases. Entre la superclase, la clase y las subclases existe una relación que denominamos herencia por la cual las clases derivadas heredan las características de las clases de las que proceden.
  •  Finalmente, el polimorfismo (múltiples formas) permite que una característica (definida en la superclase) se concrete de forma diferente en cada una de las clases derivadas.
Para una mejor comprensión de los conceptos anteriores te propongo  este vídeo de BitBoss en You Tube.

No hay comentarios:

Publicar un comentario

Comenta esta entrada