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
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 comomarca
,modelo
ycolor
, y métodos comoacelerar()
yfrenar()
.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".
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
yset
para acceder y modificar los atributos privados de una clase.
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.
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 subclaseCoche
que herede deVehículo
.
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 claseVehículo
, y este método puede comportarse de manera diferente en las subclasesCoche
yBicicleta
.
Last updated