Programación Orientada a Objetos - Características

  Como primer entrada de este blog quiero compartir con ustedes algo esencial de lo que es la Programación Orientada a Objetos, este paradigma tiene ciertas características que hacen que un lenguaje de programación pueda considerase como Orientado a Objetos.

En la actualidad hay diversos lenguajes de programación, unos muy conocidos y otros no tanto, los cuales están diseñados para trabajar con uno o mas paradigmas de programación (posiblemente después haga una entrada sobre paradigmas en general) un paradigma muy común que puedes encontrar al aprender programación es el paradigma Orientado a Objetos.

Entonces hablaremos sobre las características generales que puede tener un lenguaje Orientado a Objetos.


Abstracción: Es un concepto un poco difícil de entender si es que no has tenido la oportunidad de trabajar con conceptos relacionados anteriormente, la "abstracción" en la POO podemos definirla como la capacidad de poder ver elementos relacionados al lenguaje como "clases", "objetos" de una forma "abstracta", es decir, todo lo que vemos en el mundo real podemos llevarlo a un grado de abstracción para poder interactuar con otros elementos del mismo lenguaje, de esta forma podemos interactuar/crear relaciones abstractas en el lenguaje mediante objetos que el mismo lenguaje nos ofrece.

Encapsulamiento: Es la capacidad de poder aislar los atributos internos de una clase/objeto para evitar que terceros puedan modificar estos atributos y cambiar el estado de un objeto

Polimorfismo: Es la capacidad de que un objeto pueda cambiar su tipo de objeto dentro de una familia de clases en tiempo de ejecución, esto para que un objeto pueda reutilizarse en distintos contextos de nuestro código.

Herencia: Es la capacidad de que un objeto pueda reutilizar atributos y métodos de clases "padres", esto para evitar duplicar código innecesario y con un orden orientado a un familia de clases.

A mi parecer estas son las características principales de un lenguaje de Programación Orientado a Objetos, cabe mencionar que hay lenguajes que tienen características "compartidas" con otros paradigmas de programación lo cual da como resultado un lenguaje mas dinámico y robusto.


Cualquier duda/comentario será bienvenido.



Salu2 


Comentarios

Entradas populares de este blog

Acerca de mi