POO

La Programación Orientada a Objetos (POO) es un paradigma de programación que utiliza "objetos" para modelar entidades del mundo real y las relaciones entre ellas. Los objetos son instancias de "clases", que actúan como plantillas o estructuras para crear objetos específicos con propiedades y comportamientos definidos.

Características de la POO

  1. Clases y Objetos

    • Clase: Una clase es una plantilla o modelo que define las propiedades (atributos) y comportamientos (métodos) de los objetos. Por ejemplo, una clase Coche puede tener atributos como marca, modelo y color, y métodos como acelerar() y frenar().

    • Objeto: Un objeto es una instancia de una clase. Es un ejemplar concreto que tiene valores específicos para los atributos definidos en su clase. Por ejemplo, un objeto de la clase Coche podría ser un coche específico con marca "Toyota", modelo "Corolla" y color "rojo".

  2. Encapsulamiento

    • El encapsulamiento es el principio de ocultar los detalles internos de un objeto y exponer solo lo necesario a través de métodos públicos. Esto protege los datos del objeto y asegura que solo se puedan modificar de maneras específicas. Por ejemplo, puedes tener métodos get y set para acceder y modificar los atributos privados de una clase.

  3. Abstracción

    • La abstracción consiste en simplificar la complejidad del mundo real modelando solo las características esenciales de un objeto, ignorando los detalles irrelevantes. Esto se logra definiendo clases con atributos y métodos que representan la esencia del objeto.

  4. Herencia

    • La herencia permite crear nuevas clases basadas en clases existentes. Una clase derivada (subclase) hereda atributos y métodos de una clase base (superclase), lo que facilita la reutilización del código. Por ejemplo, puedes tener una clase Vehículo y una subclase Coche que herede de Vehículo.

  5. Polimorfismo

    • El polimorfismo permite que los objetos de diferentes clases se traten como objetos de una clase común. Esto se logra generalmente a través de métodos sobrecargados o métodos que son redefinidos (override) en las subclases. Por ejemplo, puedes tener un método mover() en la clase Vehículo, y este método puede comportarse de manera diferente en las subclases Coche y Bicicleta.

Last updated