La Programación Orientada a Objetos (POO) es un paradigma de programación que organiza el desarrollo de software en torno a objetos, que son representaciones de entidades del mundo real o conceptos abstractos. Cada objeto contiene datos (atributos o propiedades) y comportamientos (métodos o funciones), lo que permite una estructura más modular y reutilizable del código.

Principios clave de la POO:

  1. Clases y Objetos:

    • Una clase es una plantilla o definición general para crear objetos. Define los atributos y métodos que los objetos de esa clase tendrán.
    • Un objeto es una instancia de una clase, que tiene sus propios valores específicos para los atributos definidos en la clase.
  2. Encapsulamiento:

    • Este principio se refiere a ocultar los detalles internos de un objeto, exponiendo solo lo necesario. Los datos sensibles se protegen mediante modificadores de acceso (como private o public), lo que asegura que solo los métodos autorizados puedan modificar el estado de un objeto.
  3. Herencia:

    • La herencia permite que una clase (clase hija o subclase) herede atributos y métodos de otra clase (clase padre o superclase), facilitando la reutilización de código y la creación de estructuras jerárquicas.
  4. Polimorfismo:

    • Permite que un mismo método o función tenga múltiples formas. Dos tipos de polimorfismo común son:
      • Sobrecarga de métodos: Varios métodos con el mismo nombre pero con diferentes parámetros.
      • Sobreescritura de métodos: Una subclase puede redefinir un método de su superclase.
  5. Abstracción:

    • La abstracción consiste en simplificar la complejidad del mundo real al definir solo los aspectos esenciales de un objeto, sin necesidad de detallar todo su funcionamiento interno.