1. Introducción a la POO

¿Qué es?

La Programación Orientada a Objetos (POO) es un paradigma de programación que utiliza "objetos" y sus interacciones para diseñar aplicaciones y programas. Este enfoque facilita la organización del código y la reutilización de componentes.

Un objecto de la clase “Calculadora” tiene métodos (qué puede hacer) y atributos (datos).

Un objecto de la clase “Calculadora” tiene métodos (qué puede hacer) y atributos (datos).

Conceptos fundamentales: Clases, Objetos, Atributos y Métodos.

Las clases son plantillas que definen la estructura y comportamiento de los objetos. Los objetos son instancias de clases que contienen datos (atributos) y métodos para manipular esos datos.

Ventajas de la POO.

Algunas de las ventajas de la POO incluyen la modularidad, que permite dividir el problema en partes más manejables, y la reutilización del código a través de la herencia y la creación de bibliotecas de clases.

Además, la encapsulación permite proteger los datos y asegurar que solo se acceda a ellos a través de métodos definidos, mientras que la herencia facilita la creación de nuevas clases basadas en clases existentes.

Facilita el entendimiento y comprensión del código haciendo que sea más intuitivo y fácil de mantener. También permite la creación de sistemas más complejos y escalables.

Diferencias entre POO y programación funcional.

La programación orientada a objetos (POO) y la programación funcional son dos paradigmas de programación distintos, cada uno con sus propias ventajas, desventajas, diferencias y usos comunes.

Programación Orientada a Objetos (POO)

Ventajas:

  1. Modularidad: Permite dividir el código en partes más pequeñas y manejables.
  2. Reutilización: Facilita la reutilización de código mediante la herencia y la creación de bibliotecas de clases.
  3. Encapsulación: Protege los datos y asegura que solo se acceda a ellos a través de métodos definidos.
  4. Mantenibilidad: Facilita la comprensión y mantenimiento del código.
  5. Escalabilidad: Permite la creación de sistemas complejos y escalables.

Desventajas: