DEV Community

Carlos Loaeza
Carlos Loaeza

Posted on

POO

Programación Orientada a Objetos

¿Qué es?

Es un paradigma de programación en la que los objetos se utilizan como metáfora para emular las entidades reales del negocio a modelar. Está basada en varias técnicas como la herencia, abstracción, polimorfismo, acoplamiento, encapsulamiento y cohesión.

Conceptos fundamentales

Clase

Es una plantilla en la que se definen los atributos y métodos (acciones) de un objeto. Estas plantillas se crean para que podamos definir objetos. A la creación de objetos por medio de las clases se le conoce como instanciación.

Objeto

Es la instancia de una clase. Es una entidad que tiene propiedades (atributos) y un comportamiento (métodos). Son representaciones de objetos reales e interactúan con objetos internos del sistema. Sus propiedades son: Nombre, Atributos y Métodos.

Herencia

Se suele llamar así cuando una clase padre hereda sus atributos y métodos a una clase hija, junto con el polimorfismo son la esencia de la Programación Orientada a Objetos.

Método

Es un algoritmo que se asocia a un objeto, su ejecución se desencadena después de recibir un "mensaje". Un método es parte del comportamiento o funcionalidad de un objeto.

Atributo

El conjunto de estos son las propiedades que posee un objeto.

Mensaje

Es la comunicación que hay entre objetos. Por medio de este un objeto le indica a otro que ejecute alguno de sus métodos con ciertos atributos.

Características

Abstracción

Se encarga de señalar las características esenciales de un objeto, para capturar su comportamiento. Los objetos sirven para realizar un trabajo, informar y cambiar su estado, y para comunicarse con otros objetos por medio de mensajes.

Encapsulamiento

Reúne los elementos de un objeto que se consideren de una misma entidad, esto permite aumentar la cohesión de los componentes del sistema.

Herencia

Se encarga de organizar y facilitar el polimorfismo y encapsulamiento, de este modo permite crear objetos como tipos especiales de objetos predefinidos. Estos heredan las propiedades y comportamiento de su clase padre sin necesidad de volver a implementarlos

Polimorfismo

Son comportamientos diferentes de un objeto pero perteneciente a un mismo tipo de objetos, trabaja en conjunto con la herencia.

Recolección de basura

El recolector de basura se encarga de destruir automáticamente objetos que ya no se estén ocupando y de esta manera liberar memoria. El programador no debe preocuparse por la asignación o liberación de memoria.

Lenguajes de programación Orientados a Objetos

- Java
- C#
- C++
- Fortran
- JavaScript
- Objetive-C
- R
- Perl
- PHP
- Python
- Ruby
- Swift
- Visual Basic
- Scala
- Entre otros
Enter fullscreen mode Exit fullscreen mode

Top comments (0)